Skip to content

Keep the CI matplotlib pick compatible with the numpy pick - #621

Merged
eriknw merged 1 commit into
mainfrom
40-ci-matplotlib-numpy-pick
Aug 6, 2026
Merged

Keep the CI matplotlib pick compatible with the numpy pick#621
eriknw merged 1 commit into
mainfrom
40-ci-matplotlib-numpy-pick

Conversation

@eriknw

@eriknw eriknw commented Aug 5, 2026

Copy link
Copy Markdown
Member

Stacked on #620. The overnight matrix produced the post-restack wave's first two failures, both identical: build_and_test (macos-latest, notebooks) on 33-udf-ret-dtype and build_and_test (windows-latest, notebooks) on 27-check-mask-move failed at import matplotlib with

ImportError: Matplotlib requires numpy>=1.25; you have 1.24.4

The random dependency picker chose numpy 1.24 while the notebooks task installs matplotlib unpinned; matplotlib 3.11.0's runtime check requires numpy >=1.25 but its conda-forge metadata does not carry that floor, so the solver pairs them and the job dies at import. Not a code bug in either PR; any rung can draw this combination in the notebooks lane.

Same class and fix shape as the existing networkx and awkward pick constraints (3a065ba9, 8c741ce9): ci_pick_versions.py now emits mplver (a bare <3.11 ceiling when the numpy pick sits under 1.25, empty otherwise), the notebooks install line consumes it, and validate() checks the pairing. --validate passes 160,000 combos with zero failures; both emission cases confirmed by running the picker.

Gates: full pinned suite 1114 passed / 145 skipped; pre-commit all hooks pass.

@eriknw
eriknw force-pushed the 40-ci-matplotlib-numpy-pick branch from 8516745 to 8a67fd9 Compare August 5, 2026 17:44
@eriknw
eriknw force-pushed the 40-ci-matplotlib-numpy-pick branch from 8a67fd9 to b773d37 Compare August 5, 2026 18:03
@eriknw
eriknw force-pushed the 40-ci-matplotlib-numpy-pick branch from b773d37 to b7ac2a9 Compare August 5, 2026 18:05
The overnight matrix produced the stack's first two post-restack
failures, both the same one line: the notebooks task on macos-latest and
windows-latest picked numpy 1.24 while installing matplotlib unpinned,
and matplotlib 3.11.0's runtime check requires numpy >=1.25. Its
conda-forge metadata does not carry that floor, so the solver pairs them
happily and the notebooks die at import.

Same class and same fix shape as the networkx and awkward pick
constraints: the version picker now emits mplver, a bare ceiling of
<3.11 whenever the numpy pick sits under 1.25 and empty otherwise, the
notebooks install line consumes it, and validate() checks the pairing.
The --validate stress test passes 160000 combos with zero failures, and
both emission cases are confirmed by running the picker.
@eriknw
eriknw force-pushed the 40-ci-matplotlib-numpy-pick branch from b7ac2a9 to cd0be5f Compare August 6, 2026 07:57
@eriknw
eriknw changed the base branch from 39-repr-chop-complex-overflow to main August 6, 2026 07:58
@eriknw
eriknw merged commit 10a06bb into main Aug 6, 2026
16 checks passed
@eriknw
eriknw deleted the 40-ci-matplotlib-numpy-pick branch August 6, 2026 15:38
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