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.
Show run durations and lazy step logs
c765ae2e18691b3f98d93b00b4eb418ce781e3f1 · Keenan Nemetz · 13d ago · parent bdf6a0de
docs/runner.md +11−2
| @@ -186,14 +186,23 @@ push identifies the runner, and `data/audit.log` records the decision. | |||
| 186 | 186 | ## Logs | |
| 187 | 187 | ||
| 188 | 188 | The runner uploads the log before reporting the exit code. Vole does not stream | |
| 189 | logs: a log assembled by the server would not be the runner's own record. | ||
| 189 | live output while a step runs: a log assembled by the server would not be the | ||
| 190 | runner's own record. Once the attempt finishes, the archived object is served | ||
| 191 | directly and supports range requests, so the page does not read a large log into | ||
| 192 | memory. | ||
| 193 | |||
| 194 | The record also names each step's byte range in that one log, so the run page can | ||
| 195 | show a step's output without downloading the image build and other steps. Step | ||
| 196 | timing is recorded beside the range. | ||
| 190 | 197 | ||
| 191 | 198 | ```text | |
| 192 | 199 | /r/<repo>/runs/<id>/log # latest attempt | |
| 193 | 200 | /r/<repo>/runs/<id>/log?attempt=N # a particular retry | |
| 201 | /r/<repo>/runs/<id>/log?step=N # one step inside that attempt | ||
| 194 | 202 | ``` | |
| 195 | 203 | ||
| 196 | If a runner is killed, its attempt has no log. | ||
| 204 | If a runner is killed, its attempt has no log. A record written before step | ||
| 205 | timing existed still opens; it simply has no step ranges to show. | ||
| 197 | 206 | ||
| 198 | 207 | ## Scheduling and the queue | |
| 199 | 208 | ||