detached 0e6522c

2026-10-12

0651976Merge origin/main into feat/token-branch-prefixes merge GPG Verifiedbrice
9b24d95Merge pull request 'feat(cli): config file with the server URL and a token command' (#12) from feat/cli-config into main merge SSH Unverifiedbnema
c9463fdMerge origin/main into feat/cli-config merge GPG Verifiedbrice
9b35c25Merge pull request 'test(kvstore): accept a conflict from SetRead racing with a repository delete' (#16) from fix/kvstore-delete-race-test into main merge SSH Unverifiedbnema
a358636Merge origin/main into fix/kvstore-delete-race-test merge GPG Verifiedbrice
f3afb66Merge pull request 'feat(ci): GitHub Actions-compatible runs, runners and checks' (#15) from feat/ci-server into main merge SSH Unverifiedbnema
88a7436build(deps): bump ermite-actions to the recorded rules GPG Verifiedbrice
47fa8derefactor(config): leave the default CI retention to the CI use case GPG Verifiedbrice
c31fed8refactor(web): drop the dead rowIsNew placeholder GPG Verifiedbrice
ac92e76docs: document CI in the README GPG Verifiedbrice
081981crefactor: split web/actions.go and move the runner commands (pure move) GPG Verifiedbrice
f1b7a40refactor(kvstore): share one guardRepo between merge requests and CI GPG Verifiedbrice
6d7ddbarefactor(ci): reserve the removed storage fields and type the cancel reason GPG Verifiedbrice
916e849fix(ci): log every failure of the sweep, and test the sweep, the log limit and GetJob GPG Verifiedbrice
cd99c65refactor(web): one helper shapes the log lines of the page, raw feed and live feed GPG Verifiedbrice
7513520refactor(ci): require the owner in CIConfig and use strconv in the ports GPG Verifiedbrice
5b299ebrefactor(config): check the owner name in the app with the domain rules GPG Verifiedbrice
1beb9dbfix(ci): match GitHub's push payload in the github context GPG Verifiedbrice
5e9332cfix(web): count the log pages and the raw log in the per-client stream limit GPG Verifiedbrice
8dbcdb5fix(ci): refuse a merge when the checks of the head are too many to read GPG Verifiedbrice
b7f6252fix(ci): follow waits for lines on a running job and a busy stream revalidates GPG Verifiedbrice
008a3aafix(ci): note heartbeats under the run lock and forget the poll record at the ack GPG Verifiedbrice
8d95a49fix(ci): check the assignment under the run lock and never return a typed nil GPG Verifiedbrice
9728eccfix(ci): end a cancelled job whose assignment was not acknowledged GPG Verifiedbrice
ce785bffix(ci): make no run and no check while no runner is registered GPG Verifiedbrice
5aba7f2fix(ci): run push workflows when a push brings no new commit GPG Verifiedbrice
5769af5test(kvstore): accept a conflict from SetRead racing with a repository delete GPG Verifiedbrice
cfd70ebbuild(deps): require ermite-actions main and resolve module sums online GPG Verifiedbrice
5df470bfix(ci): count the acknowledgement timeout from the start of the server when it is later GPG Verifiedbrice
1769e4ffeat(ci): add the Actions pages, live job logs and check marks GPG Verifiedbrice
1bd4fe7feat(ci): add the run and runner commands and the runner token preset GPG Verifiedbrice
f2fa559test(ci): key the step range literals GPG Verifiedbrice
29932f1test(ci): cover triggers, cancel, re-run, matrix, restart and the merge rule GPG Verifiedbrice
5fbf954feat(ci): serve RunnerService and RunService, wire CI into the server GPG Verifiedbrice
2965018feat(ci): trigger, plan and run workflows, and block merges on checks GPG Verifiedbrice
f17c3d9feat(ci): list the paths changed between two commits for push filters GPG Verifiedbrice
9cf140efeat(ci): store CI runs, jobs, checks and runners, and keep job logs in files GPG Verifiedbrice
db04eb5refactor(web): one submit entry point for the passkey script GPG Verifiedbrice
f42a3e9test(passkeys): cover the web adapter mapping, a failing Remove and the full-store eviction GPG Verifiedbrice
005cbdarefactor(passkeys): one sign-count check, one client key, the name given at begin GPG Verifiedbrice
7fad59bfix(cli): kill the whole token.cmd process tree and simplify the client setup GPG Verifiedbrice
ea28447docs(cli): document the token.cmd kill, the Windows limit and config show --json GPG Verifiedbrice
0587f1cfeat(cli): add config show --json and warn when token.cmd would be refused GPG Verifiedbrice
70103datest: cover version-check failures and revoking a branch-limited all-scope token GPG Verifiedbrice
8d436fdtest: share a scoped token builder and tidy the branch tests GPG Verifiedbrice
160bcbbdocs: say that owner rights also need no branch prefixes GPG Verifiedbrice
e0dab23refactor(usecase): gate repository administration in adminAccess GPG Verifiedbrice
323ab4erefactor(cli): read the exit status from the embedded process state GPG Verifiedbrice
5a81f18chore(deps): pin ermite-api with token branch prefixes GPG Verifiedbrice
79312cbchore(deps): pin ermite-api with the passkey RPCs GPG Verifiedbrice

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 4

Tags 45

↑↓ moveenter openesc close