Skip to content

fix(ci): key the Idris 2 cache on the Chez Scheme version - #930

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/abi-drift-chez-cache
Oct 19, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
claude/abi-drift-chez-cache

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

What broke

ubuntu-latest moved to the 26.04 image. The cached ~/.idris2 holds an idris2.so compiled by the previous image's Chez Scheme, and a fasl-object only loads under the Chez that wrote it. Every cache hit now dies:

Exception: incompatible fasl-object version 0.0.0-pre-release.73 found in /home/runner/.idris2/bin/idris2_app/idris2.so
##[error]Process completed with exit code 255.

So abi-codegen-drift (a required check) is red on every PR, e.g. #927, job 118048140403. The cache key did not name Chez, so the stale build kept being restored.

The fix

The installed chezscheme package version is now part of the key, in both workflows that deliberately share one cache entry:

  • .github/workflows/abi-codegen-drift.yml
  • .github/workflows/verify-proofs.yml

An image or package change now rebuilds Idris 2 once (~20 min on the first run) instead of loading a stale build. verify-proofs.yml has the same latent failure; it just hasn't run on the new image yet (it only runs for PRs targeting main touching its paths, and on schedule).

Verification

  • Both files parse as YAML; no new action is introduced, so actions.lock is unaffected.
  • Not verified locally: this is a CI-only change. The first run on this PR rebuilds Idris 2 from source, which is the real test. If abi-codegen-drift is green on this PR, the fix works.

Separate from #927 on purpose, which only touches the lockfile parser.


Generated by Claude Code

`ubuntu-latest` moved to the 26.04 image. The cached ~/.idris2 holds an
idris2.so compiled by the previous image's Chez, and a fasl-object only
loads under the Chez that wrote it, so every cache hit now dies with

  Exception: incompatible fasl-object version 0.0.0-pre-release.73
  found in /home/runner/.idris2/bin/idris2_app/idris2.so

and abi-codegen-drift (a required check) is red on every PR. The cache key
did not name Chez, so the stale build kept being restored.

The installed chezscheme package version is now part of the key in both
workflows that share the entry (abi-codegen-drift.yml, verify-proofs.yml),
so an image or package change rebuilds Idris 2 once instead of loading a
stale build. verify-proofs.yml has the same latent failure; it simply has
not run on the new image yet.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0165rGu3tsKmJtevmrdMVyfJ

Copy link
Copy Markdown
Owner Author

scan / *, governance / * and hypatia / * fail here at job setup, before any step runs:

##[error]Unable to resolve action `actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1`: invalid lockfile pin. Run `gh actions-lock` to update the lockfile

This is not from this PR (it only changes the Idris 2 cache key). Main has the same failure (OSSF Scorecard since 2026-10-16), and it also hits #927. The fix is to regenerate .github/workflows/actions.lock with gh actions-lock, which isn't available in this session; details on #927. The check that matters for this PR is abi-codegen-drift, which is still running (it rebuilds Idris 2 on this run).


Generated by Claude Code

Copy link
Copy Markdown
Owner Author

E2E — Elixir Scanner Pipeline (and Integration Tests, if it follows) fail here for the reason that was already red on main: the lockfile parser rejects version: 'v0.0.3'. This branch is cut from main and doesn't include the fix, which is #927 (E2E is green there). They go green on this PR once #927 is merged and this branch takes main; I'm not duplicating the parser change here.


Generated by Claude Code

@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 47 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 6ddc7397-06ce-4f44-9650-d9cb2a39795a
📥 Commits

Reviewing files that changed from the base of the PR and between 5173ca7 and dd11703.

📒 Files selected for processing: 2
  • .github/workflows/abi-codegen-drift.yml
  • .github/workflows/verify-proofs.yml
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hyperpolymath
hyperpolymath marked this pull request as ready for review October 19, 2026 12:14
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-19T12:16:21.593128Z dd11703 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@hyperpolymath
hyperpolymath enabled auto-merge (squash) October 19, 2026 15:05
@coderabbitai

coderabbitai Bot commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

Add Carrot credits or activate Agent usage billing to use Autofix

@hyperpolymath
hyperpolymath merged commit fd7db07 into main Oct 19, 2026
67 of 91 checks passed
@hyperpolymath
hyperpolymath deleted the claude/abi-drift-chez-cache branch October 19, 2026 15:19
hyperpolymath pushed a commit that referenced this pull request Oct 19, 2026
… branch so abi-codegen-drift can pass here

Ported, not re-authored: the same commit as #930. It no-ops once main carries it.
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.

2 participants