Skip to content

Modernize CI actions and restore component badges - #66

Merged
pasunboneleve merged 1 commit into
ozataman:masterfrom
pasunboneleve:agent/dw7e-node24-badges
Aug 12, 2026
Merged

pasunboneleve merged 1 commit into
ozataman:masterfrom
pasunboneleve:agent/dw7e-node24-badges

Conversation

@pasunboneleve

Copy link
Copy Markdown
Collaborator

Summary

  • move GitHub's checkout and cache actions to their Node 24-native releases
  • publish stable cabal build and stack build component checks without duplicating either matrix
  • retain ci-gate as the aggregate merge check
  • restore separate Cabal and Stack badges alongside the aggregate CI badge

Why

GitHub now warns that the existing Node 20-based action releases are deprecated and forcibly run on Node 24. The CI consolidation also turned stack.yml and cabal.yml into reusable workflows, so their native workflow badges report no status even when their matrices pass.

The component result jobs preserve the current scope and reusable-workflow architecture. Each job reports its matrix result under a stable check name, and ci-gate composes those two results. The README uses branch check-run badges for those exact names, avoiding duplicate CI runs.

Validation

  • actionlint -shellcheck=
  • scripts/ci-scope-test.sh
  • git diff --check master...HEAD
  • verified official actions/checkout@v6 and actions/cache@v5 tags
  • verified the workflow-runs link returns HTTP 200 and the Shields check-run endpoint resolves existing checks
  • Roborev job 79: Codex gpt-5.6-luna, substantive review, passing verdict, no findings

Full matrix validation is intentionally left to this pull request's GitHub Actions run.

Release impact

PATCH-level CI and README metadata change. The package API and runtime behaviour are unchanged. This repository has no changelog or VERSION file to update.

Context:
GitHub now forces Node 20-based actions onto Node 24, and reusable Stack
and Cabal workflows no longer produce meaningful native workflow badges.

Decision:
Upgrade checkout to v6 and cache actions to v5. Add always-run Stack and
Cabal result jobs, compose them through ci-gate, and expose their exact
check names through branch check-run badges.

Alternatives considered:
Running stack.yml and cabal.yml independently would restore native workflow
badges, but it would duplicate matrices and split the existing scope and
gate policy. A representative matrix-job badge would not summarize every
resolver or compiler.

Tradeoffs:
The component badges depend on Shields' public check-runs endpoint and show
no status until the first master run creates the named checks.

Architectural impact:
The existing scope and reusable matrix boundaries remain. Two component
result jobs provide stable observable checks, while ci-gate remains the
aggregate merge check.

SemVer:
PATCH. This changes CI and README metadata without changing the package API
or runtime behaviour.
@pasunboneleve
pasunboneleve marked this pull request as ready for review August 12, 2026 05:00
@pasunboneleve
pasunboneleve merged commit f44019a into ozataman:master Aug 12, 2026
17 checks passed
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