Skip to content

CI: install python-flint so the Arb certificate step actually runs; fail in CI if a verify step skips - #12

Merged
tbitcs merged 4 commits into
mainfrom
fix/ci-python-flint-arb-step
Oct 20, 2026
Merged

tbitcs merged 4 commits into
mainfrom
fix/ci-python-flint-arb-step

Conversation

@tbitcs

@tbitcs tbitcs commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Root cause of the June 4 CI failures (runs 26928309408, 26928526620)

Commit 6e71b51 added a new pipeline step, proof/verify_ia_1_to_3_arb.py, whose top level did from flint import arb, ctx with no guard. python-flint is only in the optional fast extra, and the CI test job installs requirements.txt + .[dev] — so the step crashed with ModuleNotFoundError (exit 1) and python verify.py --quick failed at "Quick proof verification".

The failure was not macOS-specific: the dependency is missing on every platform. In both failing runs the macOS job simply reached the step first; the ubuntu/windows jobs were cancelled by fail-fast, never passed (verified in the run job lists). Reproduced locally on Linux: the failing commit's exact import raises ModuleNotFoundError: No module named 'flint', exit code 1, when flint is absent.

Why this PR is still needed

The June follow-up (cda9d46) made the crash go away by printing SKIP: and exiting 0, with verify.py counting a skip as a pass. CI went green, but because CI never installs python-flint, the Arb/FLINT primary certificate step has been silently skipped on every platform ever since — it verifies nothing in CI.

Changes

  • ci.yml (test job): install python-flint>=0.5 explicitly. python-flint ships abi3 wheels for macOS arm64, Windows amd64, and manylinux x86_64 covering Python 3.11/3.12, so the step now genuinely runs on the whole matrix.
  • verify.py: record skipped steps, name them in the final summary, and — when running under CI (where every dependency is installed on purpose, and verify.py already special-cases CI for the Galerkin step) — fail the run if any step skips, so a future environment regression cannot silently turn a certificate step into a no-op again. Local behavior is unchanged: a skip still passes locally, just visibly.

Verification

This PR's own CI is the verification: all six matrix jobs (ubuntu/windows/macos x 3.11/3.12) must pass "Quick proof verification" with the Arb step actually executing rather than skipping.

@tbitcs
tbitcs merged commit 7e61c5f into main Oct 20, 2026
9 checks passed
@tbitcs
tbitcs deleted the fix/ci-python-flint-arb-step branch October 20, 2026 15:06
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.

1 participant