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.

Let the CLI cancel a run, not only the browser

deb024d49d894a5a51b1a5bdc07e66c672f113ab · Keenan Nemetz · 6d ago · parent 0c14f078

Let the CLI cancel a run, not only the browser

#168 promised the same account the same actions through either transport, and
canceling a running run had just become a browser-only action. The queue is
instance-side, so the CLI asks over the key it already pushes with:
`vole run cancel <id>` retires a queued run or asks a running one to stop, checks
the same maintainer capability the page checks, and writes the same audit record.
The server verb takes one repository and one run id and answers one line; the id
is the 26-character one in the run page URL.

The audit action is now `run.cancel` for both transports, because it is the same
action: an operator looking for canceled runs should not have to know which
surface asked.

Part of #162.

docs/cli.md +7

@@ -261,6 +261,7 @@ vole runner --remote <ssh-url> [--once] [--dir <path>] [--repos <name>]... [--la
261 261 [--container-pull missing|always|never] [--container-user <uid:gid>] [--container-userns <mode>]
262 262 [--container-memory <size>] [--container-cpus <n>] [--container-pids <n>]
263 263 [--cache-size <size>] [--no-cache]
264 vole run cancel <id> [--remote <name|url>]
264 265 vole workflow check [--dir <path>]
265 266 vole workflow list [--dir <path>]
266 267 vole workflow run [--dir <path>] [<workflow>...] [--job <id>]...
@@ -285,6 +286,12 @@ declare `on.workflow-dispatch`; `--ref` defaults to the default branch, and each
285 286 `--input` is checked against the input's declared type, options, and default. Only
286 287 a maintainer or instance admin may dispatch.
287 288
289 `run cancel` is the CLI counterpart of the cancel button on a run page. It takes the
290 26-character id in that page's URL: a queued run is canceled outright, and a running
291 one is asked to stop, with its runner stopping at the next heartbeat. Only a
292 maintainer or instance admin may cancel, and `data/audit.log` records the account, the
293 repository, and the run.
294
288 295 ## Internal
289 296
290 297 `vole hook pre-receive|post-receive` is installed in repositories by Vole. It is