GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Keep the CI numba pick solvable against numpy 1.25 and 1.26 by eriknw · Pull Request #622 · python-graphblas/python-graphblas

Conversation

@eriknw

@eriknw eriknw commented Aug 5, 2026

Copy link
Copy Markdown
Member

Stacked on #621. The overnight matrix's third failure was a conda solver failure on the bottom rung (build_and_test (ubuntu-latest, pytest_normal) on 00-ci-pypy-branch-condition): the picker drew numpy=1.25 with numba=0.57, and conda-forge numba 0.57 requires numpy <1.25, so the environment could not solve and the job died before running any tests. No code implicated; any rung can draw this pairing.

The picker's constraints covered numba's numpy 2.x boundaries (<0.62 no 2.x; <0.64 needs <2.4) but not this 1.x-era ceiling. This PR bumps numba 0.57 to 0.58 whenever the numpy pick is 1.25 or 1.26, following the existing 0.62/0.63-to-0.64 pattern, and teaches validate() the pairing.

The boundary is verified by dry-run solves against conda-forge (not taken from memory): 0.57+1.25 conflicts; 0.58+1.25, 0.58+1.26, and 0.59+1.26 all solve. --validate passes 160,000 combos; 200 fresh draws produce zero bad pairings.

(The same rung-00 run also had a macos-15-intel segfault in test_udt_auto_monoid; that is a separate matter analyzed in the overnight stack report: rung 00 contains no operator-code changes, rung 01 passed the same job on a different draw, and the UDT crash fixes sit above at rungs 04-15.)

Gates: pre-commit all hooks pass; the change is CI-tooling only.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@eriknw
eriknw force-pushed the 41-ci-numba057-numpy-ceiling branch from 94753b1 to fb9761a Compare August 5, 2026 17:44
@eriknw
eriknw force-pushed the 41-ci-numba057-numpy-ceiling branch from fb9761a to 05dc4a7 Compare August 5, 2026 18:03
@eriknw
eriknw force-pushed the 41-ci-numba057-numpy-ceiling branch from 05dc4a7 to 19a5625 Compare August 5, 2026 18:05
@eriknw
eriknw force-pushed the 41-ci-numba057-numpy-ceiling branch from 19a5625 to 30ccd2f Compare August 6, 2026 07:57
Base automatically changed from 40-ci-matplotlib-numpy-pick to main August 6, 2026 15:38
eriknw added 2 commits August 6, 2026 10:38
@eriknw
Keep the CI numba pick solvable against numpy 1.25 and 1.26
7466058
The overnight matrix hit a conda solver failure on the bottom rung:
the picker drew numpy 1.25 with numba 0.57, and conda-forge numba 0.57
requires numpy <1.25, so the environment could not solve and the job
died before running anything. The picker's constraints covered numba's
numpy 2.x boundaries but not this 1.x-era ceiling.

Bump numba 0.57 to 0.58 whenever the numpy pick is 1.25 or 1.26,
following the existing 0.62/0.63-to-0.64 pattern, and teach validate()
the pairing. The boundary is verified by dry-run solves against
conda-forge: 0.57+1.25 conflicts; 0.58+1.25, 0.58+1.26, and 0.59+1.26
all solve. The --validate stress test passes 160000 combos, and 200
fresh draws produce zero bad pairings.
@eriknw
Keep the CI scipy pick solvable against pandas 2.2 and 2.3
f5eb23d
The matrix hit another conda solver failure: the picker drew pandas 2.2
with scipy 1.9, reachable only on the py3.11 numpy 1.x path, and the
environment could not solve, so the job died before running anything.
conda-forge pandas >=2.2 carries run_constrained "scipy >=1.10.0"
(the latest 2.2.3 build and all 2.3 builds; pandas 2.0 and 2.1 declare
no scipy constraint), and scipy 1.9.3 py311 builds exist even on win-64,
so the pairing fails purely on the pandas constraint. Verified with
conda search --info against conda-forge.

Re-pick scipy from the pool's 1.10 through 1.14 pins whenever a pandas
2.2 or 2.3 pin lands next to a scipy pin below 1.10, and teach
validate() the pairing. The replacement stays pinned below 1.15 because
scipy 1.9 only survives to this point alongside numpy 1.24 or 1.25,
whose scipy ceiling is 1.15. Unpinned pandas is left alone: the solver
backs it off below 2.2 on its own, which keeps scipy 1.9 coverage.

The --validate stress test passes 160000 combos, 4800 fresh draws
produce zero bad pairings, and forcing the old bad pair through
apply_constraints now always lands scipy in 1.10 through 1.14 with no
validate() errors.
@eriknw
eriknw force-pushed the 41-ci-numba057-numpy-ceiling branch from 30ccd2f to f5eb23d Compare August 6, 2026 15:38
@eriknw

eriknw commented Aug 6, 2026

Copy link
Copy Markdown
Member Author

I'm mostly letting Agents maintain scripts/ci_pick_versions.py (before, doing this manually was a pain and mostly trial and error)

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@eriknw
eriknw merged commit 978c17b into main Aug 6, 2026
1 of 4 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@eriknw
eriknw deleted the 41-ci-numba057-numpy-ceiling branch August 6, 2026 15:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@eriknw
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.