Repository navigation
CI: install python-flint so the Arb certificate step actually runs; fail in CI if a verify step skips - #12
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 didfrom flint import arb, ctxwith no guard.python-flintis only in the optionalfastextra, and the CI test job installsrequirements.txt+.[dev]— so the step crashed withModuleNotFoundError(exit 1) andpython verify.py --quickfailed 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): installpython-flint>=0.5explicitly. 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.