Skip to content

fix(ci): repair the Coq gate on main — coqc not found - #711

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/coq-gate-container
Aug 3, 2026
Merged

fix(ci): repair the Coq gate on main — coqc not found#711
hyperpolymath merged 1 commit into
mainfrom
fix/coq-gate-container

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Problem

The Coq Proof Gate has been failing on main since ed4e223 with
coqc: not found.

PR #709 merged the pre-fix revision of the workflow. The fix was already
written and verified on the PR branch (af7c38c) but was not part of the
squash, so main received the broken version.

Causes (both reproduced locally against the digest-pinned image)

  1. Entrypoint override. 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 that wrapper
    never runs. The switch is now added explicitly — globbed rather than
    hard-coded, so an image bump cannot silently break it, and failing loudly if
    it cannot be located.

  2. Shell fallback. GitHub used sh -e {0} (dash), which rejects
    set -o pipefail and the bash-only string operations the gate relies on.
    The image ships bash 5.2, so the shell is now declared explicitly rather
    than left to runner detection.

Verification

Already proven green via workflow_dispatch on the branch:

added /home/coq/.opam/4.13.1+flambda/bin to PATH
The Coq Proof Assistant, version 8.20.1
count=20
completeness guard: PASS
OK: all proofs mechanised; no axioms.

All 11 steps succeeded. The same logic was also run locally inside the pinned
container under podman before first push.

🤖 Generated with Claude Code

PR #709 merged the pre-fix revision of the workflow, so the gate has been
failing on main since ed4e223 with `coqc: not found`. The fix existed on the
PR branch (af7c38c) but was not included in the squash.

Two causes, both reproduced locally against the digest-pinned image:

1. The coqorg images install Coq into an opam switch owned by the `coq` user
   and expose it 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 not found.

2. GitHub fell back to `sh -e {0}` (dash), which rejects `set -o pipefail`
   and the bash-only string operations the gate uses. The image ships bash
   5.2, so the shell is now declared explicitly.

Verified green via workflow_dispatch on the branch before this commit:
prover 8.20.1, 20/20 proofs checked, completeness guard passed, no axioms.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@gitar-bot

gitar-bot Bot commented Aug 3, 2026

Copy link
Copy Markdown

Note

Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime.
Learn more

Code Review ✅ Approved

Explicitly adds the opam bin path and bash shell to the Coq CI container workflow, resolving the missing coqc binary and runner fallback issues. No issues found.

Auto-approved and auto-merge armed: No blocking issues found.
Please see Auto-approve Docs for details on setting custom approval criteria. — merges when pipeline and required approvals pass.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Important

Your trial ends in 7 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more.

Was this helpful? React with 👍 / 👎 | Gitar

@gitar-bot
gitar-bot Bot enabled auto-merge (squash) August 3, 2026 12:38
@gitar-bot gitar-bot Bot added the gitar-approved Added by Gitar label Aug 3, 2026

@gitar-bot gitar-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gitar has auto-approved this PR and enabled auto-merge (configure)

@sonarqubecloud

sonarqubecloud Bot commented Aug 3, 2026

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath disabled auto-merge August 3, 2026 13:15
@hyperpolymath
hyperpolymath merged commit 7f6cb79 into main Aug 3, 2026
23 checks passed
@hyperpolymath
hyperpolymath deleted the fix/coq-gate-container branch August 3, 2026 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gitar-approved Added by Gitar

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant