Skip to content

Commit 32f2049

Browse files
ci: Lean via elan in ECHIDNA + drop duplicate trufflehog --fail (#161)
Round 2 of Phase 0 CI hygiene — two reds that only surfaced *after* #159 landed on main. ## 1. ECHIDNA `Install proof provers` — apt exit 100 #159 dropped `isabelle`, but the dispatched run on main then failed on `E: Unable to locate package lean`. Ubuntu 24.04 (noble) packages neither `lean` nor `isabelle`. This installs Lean 4 via **elan** (pinned to `v3.1.1`, sha256-verified — identical to `lean-verification.yml`), keeping coq/agda/z3 from apt. Isabelle stays absent; `validate-with-echidna.sh` reports SKIP for absent provers. ## 2. Secret Scanner `trufflehog` job — duplicate `--fail` #159's permission grant fixed the reusable `scan/*` jobs — **they now pass on main** (rust-secrets, gitleaks, shell-secrets all green). But the separate `trufflehog` job then ran for the first time and failed with `flag 'fail' cannot be repeated`: the trufflehog action injects `--fail` itself, so `extra_args` must not repeat it. Now `--only-verified` only. ## Verification - `scan/*` + `trufflehog` will prove themselves on this PR. - I'll re-dispatch **ECHIDNA Validation** on main after merge to confirm the elan path builds and `echidna list-provers` succeeds. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 33449db commit 32f2049

2 files changed

Lines changed: 15 additions & 10 deletions

File tree

.github/workflows/echidna-validation.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,18 +51,20 @@ jobs:
5151
echo "/tmp/echidna/target/release" >> $GITHUB_PATH
5252
5353
- name: Install proof provers
54-
# `isabelle` is not packaged in Ubuntu 24.04 (noble); requesting it
55-
# fails the whole job with apt exit 100. validate-with-echidna.sh
56-
# reports SKIP for absent provers, so Isabelle proofs are skipped
57-
# rather than blocking the pipeline.
54+
# Ubuntu 24.04 (noble) packages neither `lean` nor `isabelle`, and
55+
# apt-get exits 100 on any unknown package. Lean 4 comes via elan
56+
# (pinned + checksum-verified, same as lean-verification.yml).
57+
# Isabelle stays uninstalled; validate-with-echidna.sh reports SKIP
58+
# for absent provers rather than failing.
5859
run: |
5960
set -euo pipefail
6061
sudo apt-get update
61-
sudo apt-get install -y --no-install-recommends \
62-
lean \
63-
coq \
64-
agda \
65-
z3
62+
sudo apt-get install -y --no-install-recommends coq agda z3
63+
curl -sSfL https://raw.githubusercontent.com/leanprover/elan/v3.1.1/elan-init.sh -o elan-init.sh
64+
echo "f5d473c923c093759ae3839073bec2a58e82cb8bc0e4083930e76090da75b310 elan-init.sh" | sha256sum -c -
65+
sh elan-init.sh -y
66+
rm -f elan-init.sh
67+
echo "$HOME/.elan/bin" >> $GITHUB_PATH
6668
6769
- name: Verify ECHIDNA available
6870
run: echidna list-provers

.github/workflows/secret-scanner.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,7 @@ jobs:
3030
- name: TruffleHog Secret Scan
3131
uses: trufflesecurity/trufflehog@00155c9dc586f34d189adc83d3ac2698c2ec551f # v3.93.3
3232
with:
33-
extra_args: --only-verified --fail
33+
# The action already appends `--fail` internally; repeating it here
34+
# makes the trufflehog binary abort with "flag 'fail' cannot be
35+
# repeated". Pass only `--only-verified`.
36+
extra_args: --only-verified

0 commit comments

Comments
 (0)