Skip to content

Commit 95e0b3a

Browse files
hyperpolymathclaude
authored andcommitted
ci: unblock Idris 2 verification on every PR
The Idris 2 CI workflow on `main` has been red since 2026-03-29 (6+ weeks). Root causes: 1. `actions/cache@0c45773…` (v4.0.2) is now deprecated by GitHub and auto-fails every job that pins it. Affects four workflows: idris2-ci.yml (build + docs), echidna-verify.yml (Verify Idris 2 Proofs), publish-crates.yml (cargo cache). 2. architecture-enforcement.yml's `verify-idris-build` job has only a `echo "Idris2 installation (manual review required)"` placeholder where the install step should be. `idris2 --build` then runs against an empty PATH and emits the misleading "❌ Idris2 build failed - proofs are broken" message. This commit: - Bumps actions/cache from v4.0.2 (deprecated SHA 0c45773b623bea8c8e75f6c82b208c3cf94ea4f9) to v4.3.0 (SHA 0057852bfaa89a56745cba8c7296529d2fc39830) in all four workflows. casket-pages.yml was already on v4.3.0, so the whole repo is now consistent. - Replaces the verify-idris-build placeholder with a real build that uses the `snazzybucket/idris2:latest` container. This is the same container used locally to verify proven#9 before merge, so the CI signal will match the manual verification process and we don't pay a ~10-minute idris2 source bootstrap per job. Out of scope (left for follow-up): - hypatia-scan job assumes `../hypatia/elixir-scanner` exists in the runner workspace, which it doesn't — a sibling-repo clone step is needed. Tracked separately. - enforce-idris-only flags ~80 pre-existing `bindings/rust/src/ safe_*.rs` files. The workflow's SOLUTION text says delete them but this needs a human-in-the-loop policy call. Tracked separately.
1 parent 5b0292b commit 95e0b3a

4 files changed

Lines changed: 16 additions & 16 deletions

File tree

.github/workflows/architecture-enforcement.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -111,17 +111,17 @@ jobs:
111111
steps:
112112
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
113113

114-
- name: Setup Idris2
114+
- name: Build Idris2 modules (via container)
115115
run: |
116-
# Install Idris2 from package manager or build from source
117-
# This is a placeholder - actual installation varies by CI environment
118-
echo "Idris2 installation (manual review required)"
119-
120-
- name: Build Idris2 modules
121-
run: |
122-
# Build all Idris modules to verify totality proofs
123-
idris2 --build proven.ipkg || {
124-
echo "❌ Idris2 build failed - proofs are broken"
125-
exit 1
126-
}
116+
# Use the snazzybucket/idris2 container so we don't pay a 10-minute
117+
# bootstrap on every job. The container is the same one used locally
118+
# to verify proven#9 before merge.
119+
docker run --rm \
120+
-v "$PWD:/proj" \
121+
-w /proj \
122+
snazzybucket/idris2:latest \
123+
sh -c 'idris2 --build proven.ipkg' || {
124+
echo "❌ Idris2 build failed - proofs are broken"
125+
exit 1
126+
}
127127
echo "✅ Idris2 modules build successfully with totality checking"

.github/workflows/echidna-verify.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
3636
- name: Cache Idris 2
3737
id: cache-idris2
38-
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
38+
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
3939
with:
4040
path: |
4141
~/.idris2

.github/workflows/idris2-ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
3838
- name: Cache Idris 2
3939
id: cache-idris2
40-
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
40+
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
4141
with:
4242
path: |
4343
~/.idris2
@@ -89,7 +89,7 @@ jobs:
8989
9090
- name: Cache Idris 2
9191
id: cache-idris2
92-
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
92+
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
9393
with:
9494
path: |
9595
~/.idris2

.github/workflows/publish-crates.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
3939

4040
- name: Cache cargo registry
41-
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
41+
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
4242
with:
4343
path: |
4444
~/.cargo/registry

0 commit comments

Comments
 (0)