Skip to content

ci: repin example fleet to the rc under test before fan-out#217

Merged
joshua-temple merged 2 commits into
mainfrom
ci/fleet-auto-repin
Jun 18, 2026
Merged

ci: repin example fleet to the rc under test before fan-out#217
joshua-temple merged 2 commits into
mainfrom
ci/fleet-auto-repin

Conversation

@joshua-temple

Copy link
Copy Markdown
Collaborator

Problem

The Fleet E2E gate resolves the rc version and logs it as "version under test", but the dispatch-suite action passes no version, so each example suite installs whatever its manifest is statically pinned to. A fresh rc was therefore never validated by the fleet until someone manually repinned the repos - the label outran reality.

Fix

Add a repin job (needs: resolve) that runs before all suite jobs. It downloads the rc linux/amd64 binary, verifies cascade version matches the rc, then for each of the 8 cascade-example-* repos: clones main with the state token, sets the manifest cli_version to the rc, replaces any other in-repo rc-version refs, regenerates the workflows with the rc binary, and commits + pushes only if something changed (idempotent, DCO-signed via --no-gpg-sign since CI has no GPG key, [skip ci], force-with-lease). primary and independents now needs: [resolve, repin] (dependents inherits via primary), so no suite runs against a stale pin. Cloning fresh main + version-sed + regen preserves every hand-written suite feature; only generated workflows are rewritten. The gate summary now reflects the version actually pinned.

Verification

  • actionlint clean on fleet-e2e.yaml
  • Guardrails clean (cfa/dxe/delivery, em dashes, AI/process-speak)
  • Workflow-only change, so e2e is skipped and the Integration Gate passes
  • No generator/CLI change

The fleet gate logged the resolved rc as the version under test, but the suites installed whatever each repo's manifest was statically pinned to, so a fresh rc was never actually validated until a manual repin.

Add a repin job that downloads the rc binary, sets each example repo's manifest cli_version to the rc, replaces any other in-repo rc refs, regenerates the workflows against the rc, and pushes the result to each repo's main (idempotent, [skip ci], force-with-lease). All suite jobs now gate on repin so none run against a stale pin.

Signed-off-by: Joshua Temple <joshua.temple@stablekernel.com>
@joshua-temple joshua-temple enabled auto-merge (squash) June 18, 2026 03:36
auto-merge was automatically disabled June 18, 2026 03:47

Pull request was closed

@joshua-temple joshua-temple reopened this Jun 18, 2026
Signed-off-by: Joshua Temple <joshua.temple@stablekernel.com>
@joshua-temple joshua-temple merged commit 243b264 into main Jun 18, 2026
13 checks passed
@joshua-temple joshua-temple deleted the ci/fleet-auto-repin branch June 18, 2026 03:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant