main 33a243c

2026-10-14

77f4a19docs(runner): job containers and service containers GPG Verifiedbrice
9596a73chore(executor): lint fixes for the container code GPG Verifiedbrice
59a9c3afix(executor): action steps fail with the runner's null ContainerId error when the job container does not exist GPG Verifiedbrice
67ae5e1test(executor): opt-in tests against a real Docker daemon GPG Verifiedbrice
994b869feat(executor): translate container paths in command output back to the host GPG Verifiedbrice
40f32c5test(executor): container lifecycle, cleanup after failure, cancel and timeouts, credentials GPG Verifiedbrice
4d5e5f8feat(executor): docker actions join the job network; container: and services: are no longer refused GPG Verifiedbrice
3a3049cfeat(executor): node actions in the job container, node_alpine for Alpine images GPG Verifiedbrice
85978aefeat(executor): run steps through docker exec in the job container GPG Verifiedbrice
596a6c3feat(executor): Initialize containers and Stop containers steps with service health checks GPG Verifiedbrice
f72c62dfeat(executor): model and evaluate job container and services (CI-2 phase H) GPG Verifiedbrice
3e5ad18Merge pull request 'feat(executor): run node, docker, composite and local actions (CI-2 phase F)' (#12) from feat/ci2-actions into main merge SSH Unverifiedbnema
e707c63fix(executor): a preparation broken by the step's cancellation or timeout ends the step cancelled, not failed GPG Verifiedbrice
5f78aaafeat(executor): inner steps inherit the timeout of the step that uses the action GPG Verifiedbrice
3ee1c67test(executor): commands, matchers, masks, annotations, state and timeouts in node, docker and composite steps GPG Verifiedbrice
d930202Merge origin/main into feat/ci2-actions merge GPG Verifiedbrice
9783786docs(executor): say that archive links are validated at install time GPG Verifiedbrice
e509beafix(host,executor): compare origins in one canonical form with IPv6 hosts bracketed and accept a literal U+FFFD in action paths GPG Verifiedbrice
86ddb5fMerge pull request 'feat(executor): workflow commands, annotations, matchers, summaries, step timeout (CI-2 G)' (#11) from feat/ci2-commands into main merge SSH Unverifiedbnema
41a0ba6feat(host): tell the user when annotations were dropped for lack of room GPG Verifiedbrice
6cc6c69fix(executor): reuse resolutions across local composites and guard local composite recursion GPG Verifiedbrice
acae6dafix(host): cache resolutions per job, batch big requests and validate the action path apart from owner and repository GPG Verifiedbrice
79b18d6fix(execstream): do not let a resolution answer nobody reads block the end of the session GPG Verifiedbrice
be35c9ffix(executor): never give the archive token back after a redirect left its origin GPG Verifiedbrice
349efbdfix(host): count annotations in the outbox budget for their whole lifetime, release producers on the hard stop GPG Verifiedbrice
547d930fix(executor): resolve every archive symlink through the other links before accepting the tree GPG Verifiedbrice
c19a481test(executor): restore the catastrophic matchers vs step timeout test GPG Verifiedbrice
0a7462cfix(host): bound action resolution and send archive tokens only to the origin the host names GPG Verifiedbrice
dd71becfix(executor): stop the image setup of a local composite action with the step GPG Verifiedbrice
1955003refactor(executor): additive mask API, scope and timeout hook points; save-state keeps spelling GPG Verifiedbrice
8a89149fix(host): bound result frames of the guest and copy what is cut GPG Verifiedbrice
9f6323cfix(executor): check archive links against the stripped root and cap the decompressed stream GPG Verifiedbrice
3d4e205fix(executor): stop problem matchers when the step is cancelled GPG Verifiedbrice
9911debfix(executor): read the step summary from the checked descriptor, bounded GPG Verifiedbrice
f0e28f8fix(executor): track original masks apart from their encodings GPG Verifiedbrice

2026-10-13

8111cdbtest(executor): pre and post of repository and docker actions, token not in the environment GPG Verifiedbrice
0ee31e3test(guest): resolver round trip with the host handler GPG Verifiedbrice
92205fffeat(executor): warn about actions upgraded to Node.js 24 in Complete job GPG Verifiedbrice
76038adstyle(executor): error strings and unused code for the linter GPG Verifiedbrice
622eabbtest(executor): cover local, repository, composite, node and docker actions GPG Verifiedbrice
aea5d73feat(executor): run node, docker, composite and local actions with pre and post stages GPG Verifiedbrice
a6671fafeat(host): resolve actions for the executor and give the job token to github.token GPG Verifiedbrice
1396410feat(executor): extract action archives with traversal and link checks GPG Verifiedbrice
e59b2f0test(guest): results frames over the stream; docs: attribution for the ported code GPG Verifiedbrice
9116f1efeat(host): forward annotations, summaries and step outcomes to ermite GPG Verifiedbrice
77f2262feat(executor): annotations, problem matchers, summaries, step outcome and timeout-minutes GPG Verifiedbrice
b90459efeat(executor): mask like the official runner and add masks at run time GPG Verifiedbrice
d727ef4feat(execstream): carry annotations, summaries and step outcomes GPG Verifiedbrice
c4ec791chore(deps): bump ermite-api to 49ac5fd and ermite-actions to 3425eb2 GPG Verifiedbrice
de0182dchore(deps): bump ermite-api to 49ac5fd 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 11

↑↓ moveenter openesc close