v0.24.0 166837a

2026-10-13

5b66afcfeat(ci): serve the owner's git URLs and the REST subset the actions call GPG Verifiedbrice
8d1000afeat(ci): issue job repository tokens and resolve actions GPG Verifiedbrice
bfdf4d9feat(ci): plan steps with uses, job containers, services and step timeouts GPG Verifiedbrice
cd77819build(deps): bump ermite-api to the CI-2 protocol GPG Verifiedbrice
b8e893fMerge pull request 'build(deps): bump ermite-actions to the Json.NET fromJSON messages' (#21) from chore/bump-ermite-actions into main merge SSH Unverifiedtag v0.8.1bnema
d08683cbuild(deps): bump ermite-actions to the Json.NET fromJSON messages GPG Verifiedbrice
6ef9232Merge pull request 'fix(ci): server-side GitHub Actions parity for tags, run names, invalid runs and needs chains' (#20) from fix/ci-server-parity into main merge SSH Unverifiedbnema
38090f1build(deps): bump ermite-api to the merged run name; log unreadable registered workflow names at debug GPG Verifiedbrice
20985ccfeat(ci): add Run.name and title tag runs with the name registered on the default branch GPG Verifiedbrice
1f94d4achore(deps): bump ermite-actions to main and ermite-api to the Run.name branch GPG Verifiedbrice
86e16c3fix(ci): match GitHub for tag push events, tag run titles and invalid strategy run names GPG Verifiedbrice
27d907dfix(ci): make the default success() of a job look at its whole chain of needs GPG Verifiedbrice
e893110feat(ci): list the commits of a tag that no branch has GPG Verifiedbrice
f93ee06chore(deps): bump ermite-actions to the workflow parity branch GPG Verifiedbrice
76fdffcMerge pull request 'feat(ci): add ERMITE_CI_POLL_TIMEOUT to shorten the FetchJob long poll' (#19) from fix/ci-poll-timeout-env into main merge SSH Unverifiedbnema
e30ca52feat(ci): add ERMITE_CI_POLL_TIMEOUT to shorten the FetchJob long poll GPG Verifiedbrice
eaf4295Merge pull request 'feat(ci): GitHub-shaped contexts, owner URLs, run titles and continue-on-error' (#18) from feat/ci-github-parity into main merge SSH Unverifiedtag v0.8.0bnema
c1a72b4fix(ci): never fail a job on check_run_id overflow, use the ErrTooManyConfigurations sentinel GPG Verifiedbrice
a67d46arefactor(ci): build the push commits once per ref and number check runs per attempt GPG Verifiedbrice
43dcef4fix(web): redirect /<owner>/<rest> unless a repository is named like the owner GPG Verifiedbrice

2026-10-12

3690ef9feat(ci): match GitHub's github and job contexts, push payload and run titles GPG Verifiedbrice
45bfc5bMerge pull request 'fix(cli): explain the missing CI features in the version warning' (#17) from fix/version-ci-features into main merge SSH Unverifiedtag v0.7.0bnema
2e6e03ffix(cli): explain the missing CI features in the version warning GPG Verifiedbrice
075280bMerge pull request 'feat(web): sign in with owner passkeys' (#14) from feat/passkeys into main merge SSH Unverifiedbnema
eca6041test(kvstore): call Delete again when it gives up under contention GPG Verifiedbrice
b4c1e2aMerge origin/main into feat/passkeys merge GPG Verifiedbrice
98d2616Merge pull request 'feat(tokens): branch-limited tokens for agents' (#13) from feat/token-branch-prefixes into main merge SSH Unverifiedbnema
f9ee4b9feat(ci): limit run writes and runner management of branch-limited tokens GPG Verifiedbrice
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

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 2

Tags 45

↑↓ moveenter openesc close