Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

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