rig/changelog.d
cluade-reviewer-andresmgsl cc5f478e77 fix(ci): the check job installs the tools its image does not ship
rig's own `ci / check` failed 9 times out of 27 ci.yml tasks on the first
Forgejo runner, every one on `shellcheck: command not found`. `ubuntu-latest`
maps to catthehacker's SLIM act image, and workflows written for GitHub
reasonably assume GitHub's tool surface.

Measured before choosing (2026-08-01, streaming ghcr layer blobs rather than
pulling): the parity image is 18.67 GB on the wire and 54.52 GB extracted,
against a box-class ci tenant with ~34-40 GB free. There is no cheap middle —
runner-22.04 is the same slim class, tool for tool, and ships no shellcheck
either. `apt-get install -y shellcheck` costs 7s and yields the same
ShellCheck 0.8.0 that full-22.04 carries.

So the slim default stays and the workflow equips itself. The `command -v`
short-circuit keeps either forge from paying for the other; the sudo is a
no-op on the act path and load-bearing on GitHub's.

`ubuntu-latest-full` ships in the default map beside it: a mapping pulls
nothing until a job matches it, and Forgejo freezes labels at registration,
so a label absent then cannot be added without re-registering.

A plain converge now warns when a runner carries a SUPERSEDED default —
matched against the exact strings rig has shipped, so a map the operator
chose stays silent. The message says plainly that nothing is broken.

Refs #144
2026-08-01 21:22:01 +00:00
..
109.md docs: the changelog fragment cites bare #109 2026-07-28 09:26:17 +00:00
111.md docs: shorten changelog.d/111.md under the 300-char entry guard 2026-07-29 14:45:57 +00:00
112.md docs: the changelog fragment says what changed and stops 2026-07-29 12:22:08 +00:00
116.md fix: preserve triage across both forges 2026-07-30 18:31:16 +00:00
129.md feat(drill): a forgejo-runner lifecycle leg beside the GitHub one 2026-07-30 23:27:36 +00:00
131.md docs: README install quick start names the Forgejo channel (RIG_HOST) 2026-07-30 23:52:44 +00:00
133.md fix(forgejo-runner): 'active' is not proof the runner is fetching 2026-07-31 00:15:02 +00:00
135.md fix(forgejo-runner): the cache server can start 2026-07-31 16:59:03 +00:00
144.md fix(ci): the check job installs the tools its image does not ship 2026-08-01 21:22:01 +00:00
152.md fix: group machine role changelog entry 2026-07-25 13:07:01 +00:00
153.md fix: group template snapshot changelog entry 2026-07-25 16:00:29 +00:00
160.md fix: scope the netmap tag read to Self 2026-07-25 16:02:54 +00:00
162.md fix: arm cron on agent tenant boxes 2026-07-25 18:54:27 +00:00
README.md feat: convert unreleased changelog to fragments 2026-07-24 13:55:28 +00:00

changelog.d/ — the next release's section, one fragment per issue

Machine-assembled by bin/changelog-assemble (#112): every PR that changes behavior writes one file here — <issue>.md, the exact prose that will be published, nothing else — and the release PR folds them all into the next ## X.Y.Z — DATE section of CHANGELOG.md, consuming them. Distinct filenames never conflict, which is this directory's whole reason to exist. This README is the marker that keeps the directory tracked when it holds no fragments (#112 D1) — changelog-armed refuses a tree without it; do not delete it.