Skip to content

ci: guard dependency pins against cross-workflow drift - #16

Merged
turinglambdaai merged 2 commits into
mainfrom
codex/ci-dependency-pin-drift-guard
Oct 19, 2026
Merged

turinglambdaai merged 2 commits into
mainfrom
codex/ci-dependency-pin-drift-guard

Conversation

@turinglambdaai

Copy link
Copy Markdown
Owner

Summary

Taskly currently pins Rivet/Keel in multiple independent places across ci.yml, acceptance.yml, and release.yml. The workflows are internally DRY, but there is no repository-level guard keeping those pins aligned.

This adds a lightweight contract preflight that:

  • requires the three RIVET_PIN values to match
  • verifies every setup-embed-racket@<sha> ref matches that Rivet pin
  • requires the literal Keel refs in CI/release to match acceptance.yml's KEEL_PIN
  • runs from the existing Linux contract job before the expensive host builds

This is intentionally a drift detector rather than a YAML indirection layer, because GitHub Actions does not allow dynamic expressions in uses: ...@ref.

Why

A Rivet bump currently requires coordinated edits across build, product-acceptance, release, and composite-action refs. A partial bump can produce the worst kind of failure: CI passes with one framework revision while packaging or acceptance executes another.

Validation

The branch is two commits ahead of main and only changes the contract workflow plus the new preflight script.

@turinglambdaai
turinglambdaai merged commit c8c4896 into main Oct 19, 2026
10 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