Commit af7c38c
fix(ci): make the Coq gate actually run in the pinned container
First CI run failed with `coqc: not found`. Two distinct causes, both
reproduced locally against the digest-pinned image with podman:
1. The coqorg images install Coq into an opam switch owned by the `coq` user
and put it on PATH via an ENTRYPOINT wrapper. GitHub Actions overrides the
entrypoint for job containers, so the wrapper never runs and `coqc` is not
on PATH. Now resolved explicitly, globbed rather than hard-coded so an image
bump cannot silently break it, and failing loudly if it cannot be found.
2. GitHub fell back to `sh -e {0}` (dash) rather than bash, which rejects
`set -o pipefail` and the bash-only string operations the gate uses. The
image does ship bash 5.2, so the shell is now declared explicitly instead
of depending on the runner's detection.
Verified by running the gate's exact logic inside the pinned image under bash:
prover 8.20.1, 20/20 proofs checked, completeness guard passes, no axioms.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent 11b5e8a commit af7c38c
1 file changed
Lines changed: 24 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
31 | 38 | | |
32 | 39 | | |
33 | 40 | | |
| |||
37 | 44 | | |
38 | 45 | | |
39 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
40 | 64 | | |
41 | 65 | | |
42 | 66 | | |
| |||
0 commit comments