celilo-mgmt's playbook stamps 0.10.1 while its manifest says 0.10.3, so main is red and every deploy records the wrong version #1400

Open
opened 2026-09-21 05:32:42 +00:00 by forgejo-admin · 0 comments

modules/celilo-mgmt/ansible/playbook.yml.tpl:23 carries a literal celilo_mgmt_version: "0.10.1" that must be hand-kept in step with modules/celilo-mgmt/manifest.yml#version, now 0.10.3. Two manifest bumps landed without it — b5a6a020 (0.10.1 → 0.10.2) and ca4d306d (0.10.2 → 0.10.3) — so the descriptor written onto celilo-mgr claims a version that module has not been since two commits ago.

apps/celilo/src/system/browser-provisioning.test.ts:36 exists precisely to catch this and did: ci / validate fails on main (run 6983, head e2e17b08) with Expected: "0.10.3" / Received: "0.10.1". It has been red since b5a6a020; e2e17b08 is where it was noticed, not where it broke.

The literal exists because no template prefix exposes a module's own version ($self: resolves module CONFIG, not manifest fields), so the playbook cannot derive it. The test is the only thing holding the two in agreement, and it only fires after the bump has already been pushed.

Scope

  • modules/celilo-mgmt/ansible/playbook.yml.tpl:23 — the drifted literal.
  • modules/celilo-mgmt/manifest.yml:5 — the source of truth.
  • apps/celilo/src/system/browser-provisioning.test.ts — the existing guard.
  • The general shape: grep -rn 'celilo_mgmt_version' modules/. Any other module stamping its own manifest version into a template has the same exposure.

Acceptance

  • The literal reads 0.10.3 and bun test apps/celilo/src/system/browser-provisioning.test.ts passes.
  • ci / validate is green on main.
  • Recurrence gate: either a template prefix that resolves a module's manifest version so the literal can be deleted outright, or a pre-commit/CI check that fails a manifest.yml#version change whose module templates still carry the old value — so the drift is caught at the bump rather than one push later.
  • Landed on ca4d306d, b5a6a020.
  • celilo#1303 — the unreadable job log that made this cost a diagnosis. The web route /celilo/celilo/actions/runs/<n>/jobs/<idx>/attempt/1/logs does return the log; the /attempt/1 segment is required and both endpoints without it 404.
`modules/celilo-mgmt/ansible/playbook.yml.tpl:23` carries a literal `celilo_mgmt_version: "0.10.1"` that must be hand-kept in step with `modules/celilo-mgmt/manifest.yml#version`, now `0.10.3`. Two manifest bumps landed without it — `b5a6a020` (0.10.1 → 0.10.2) and `ca4d306d` (0.10.2 → 0.10.3) — so the descriptor written onto celilo-mgr claims a version that module has not been since two commits ago. `apps/celilo/src/system/browser-provisioning.test.ts:36` exists precisely to catch this and did: `ci / validate` fails on main (run 6983, head `e2e17b08`) with `Expected: "0.10.3" / Received: "0.10.1"`. It has been red since `b5a6a020`; `e2e17b08` is where it was noticed, not where it broke. The literal exists because no template prefix exposes a module's own version (`$self:` resolves module CONFIG, not manifest fields), so the playbook cannot derive it. The test is the only thing holding the two in agreement, and it only fires after the bump has already been pushed. ## Scope - `modules/celilo-mgmt/ansible/playbook.yml.tpl:23` — the drifted literal. - `modules/celilo-mgmt/manifest.yml:5` — the source of truth. - `apps/celilo/src/system/browser-provisioning.test.ts` — the existing guard. - The general shape: `grep -rn 'celilo_mgmt_version' modules/`. Any other module stamping its own manifest version into a template has the same exposure. ## Acceptance - [ ] The literal reads `0.10.3` and `bun test apps/celilo/src/system/browser-provisioning.test.ts` passes. - [ ] `ci / validate` is green on main. - [ ] Recurrence gate: either a template prefix that resolves a module's manifest version so the literal can be deleted outright, or a pre-commit/CI check that fails a `manifest.yml#version` change whose module templates still carry the old value — so the drift is caught at the bump rather than one push later. ## Related - Landed on `ca4d306d`, `b5a6a020`. - celilo#1303 — the unreadable job log that made this cost a diagnosis. The web route `/celilo/celilo/actions/runs/<n>/jobs/<idx>/attempt/1/logs` does return the log; the `/attempt/1` segment is required and both endpoints without it 404.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
celilo/celilo#1400
No description provided.