vole
Clone
Read only, no credentials:
https://rodent.software/git/vole.git
Write over SSH with a registered key:
git clone ssh://git@0.0.0.0:2222/vole.git
A free and open-source forge that lives in your Git repo.
Make the run list say what triggered each run
57dc79afa8097830de03fc2fc2c19561470b6d36 · Keenan Nemetz · 6d ago · parent 338a19dd
Make the run list say what triggered each run The runs table said only which ref a run used, so a push, an issue event and a manual dispatch looked alike. Give each run a TriggerTitle and show it in a "Triggered by" column; the run page uses the same words. Drop the separate workflows page. The run list is where a job is found, and the run page now links the workflow definition it ran, so a second page listing the same jobs only split the answer. Show the full log viewer only while a run is going. A finished run has per-step logs, and the full log is a download rather than a second copy of every step's output.
server/routes.go +2−3
| @@ -186,10 +186,9 @@ func (s *Server) repoRoutes(mux *http.ServeMux) { | |||
| 186 | 186 | mux.HandleFunc("GET /r/{name}/releases/{tag}/archive.tar.gz", w.ReleaseTarGz) | |
| 187 | 187 | mux.HandleFunc("GET /r/{name}/releases/{tag}/artifacts/{artifact}", w.ReleaseArtifact) | |
| 188 | 188 | ||
| 189 | // CI: the run list, the workflow list, and one run with its log and | ||
| 190 | // artifacts. Cancel and rerun are the only writes. | ||
| 189 | // CI: the run list and one run with its log and artifacts. Cancel and rerun | ||
| 190 | // are the only writes. | ||
| 191 | 191 | mux.HandleFunc("GET /r/{name}/runs", w.RunsPage) | |
| 192 | mux.HandleFunc("GET /r/{name}/workflows", w.WorkflowsPage) | ||
| 193 | 192 | mux.HandleFunc("GET /r/{name}/workflows/dispatch", w.WorkflowDispatchPage) | |
| 194 | 193 | mux.HandleFunc("POST /r/{name}/workflows/dispatch", w.WorkflowDispatch) | |
| 195 | 194 | mux.HandleFunc("GET /r/{name}/runs/{id}", w.RunPage) | |