Skip to content

Fix pip-install: build sdist once, test across matrix#341

Merged
RoryBarnes merged 1 commit intomainfrom
fix-pip-install-v2
Feb 20, 2026
Merged

Fix pip-install: build sdist once, test across matrix#341
RoryBarnes merged 1 commit intomainfrom
fix-pip-install-v2

Conversation

@RoryBarnes
Copy link
Copy Markdown
Collaborator

Summary

  • The previous approach built both sdist and wheel on every OS/Python combo (24 jobs), then merged all artifacts. This caused:
    • Corrupt wheel files (BadZipFile: Bad magic number for file header) from the merge
    • Linux wheels lacking manylinux tags that PyPI would reject anyway
  • Restructured into three stages: build sdist once on ubuntu-latest, test installation from that sdist across the full 4-OS x 6-Python matrix, upload only the sdist to PyPI
  • Users install from the source distribution, which compiles the C extension locally
  • Bumps VERSION to 2.5.36

Test plan

  • Merge, create release v2.5.36, verify pip-install workflow passes all stages

🤖 Generated with Claude Code

The previous approach built both sdist and wheel on every OS/Python combo,
then merged all 24 artifacts. Wheels built with python -m build lack
manylinux tags (required by PyPI for Linux) and the merge produced
corrupt wheel files (BadZipFile). Fix by building the sdist once on
ubuntu-latest, testing installation from that sdist across the full
OS/Python matrix, and uploading only the sdist to PyPI. Bump VERSION
to 2.5.36.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Test Results (py3.11 on ubuntu-22.04)

19 903 tests   19 647 ✅  1m 35s ⏱️
     1 suites       0 💤
     1 files       256 ❌

For more details on these failures, see this check.

Results for commit 35472e7.

@github-actions
Copy link
Copy Markdown

Test Results (py3.10 on ubuntu-24.04)

19 903 tests   19 647 ✅  1m 39s ⏱️
     1 suites       0 💤
     1 files       256 ❌

For more details on these failures, see this check.

Results for commit 35472e7.

@github-actions
Copy link
Copy Markdown

Test Results (py3.12 on ubuntu-22.04)

19 903 tests   19 647 ✅  1m 37s ⏱️
     1 suites       0 💤
     1 files       256 ❌

For more details on these failures, see this check.

Results for commit 35472e7.

@github-actions
Copy link
Copy Markdown

Test Results (py3.10 on ubuntu-22.04)

19 903 tests   19 647 ✅  1m 40s ⏱️
     1 suites       0 💤
     1 files       256 ❌

For more details on these failures, see this check.

Results for commit 35472e7.

@github-actions
Copy link
Copy Markdown

Test Results (py3.12 on ubuntu-24.04)

19 903 tests   19 647 ✅  1m 36s ⏱️
     1 suites       0 💤
     1 files       256 ❌

For more details on these failures, see this check.

Results for commit 35472e7.

@github-actions
Copy link
Copy Markdown

Test Results (py3.13 on ubuntu-22.04)

19 903 tests   19 647 ✅  1m 37s ⏱️
     1 suites       0 💤
     1 files       256 ❌

For more details on these failures, see this check.

Results for commit 35472e7.

@github-actions
Copy link
Copy Markdown

Test Results (py3.13 on ubuntu-24.04)

19 903 tests   19 647 ✅  1m 35s ⏱️
     1 suites       0 💤
     1 files       256 ❌

For more details on these failures, see this check.

Results for commit 35472e7.

@github-actions
Copy link
Copy Markdown

Test Results (py3.11 on ubuntu-24.04)

19 903 tests   19 647 ✅  1m 33s ⏱️
     1 suites       0 💤
     1 files       256 ❌

For more details on these failures, see this check.

Results for commit 35472e7.

@github-actions
Copy link
Copy Markdown

Test Results (py3.9 on ubuntu-22.04)

19 903 tests   19 647 ✅  1m 44s ⏱️
     1 suites       0 💤
     1 files       256 ❌

For more details on these failures, see this check.

Results for commit 35472e7.

@github-actions
Copy link
Copy Markdown

Test Results (py3.9 on ubuntu-24.04)

19 903 tests   19 647 ✅  1m 43s ⏱️
     1 suites       0 💤
     1 files       256 ❌

For more details on these failures, see this check.

Results for commit 35472e7.

@github-actions
Copy link
Copy Markdown

Test Results (py3.14 on ubuntu-22.04)

19 903 tests   19 647 ✅  1m 38s ⏱️
     1 suites       0 💤
     1 files       256 ❌

For more details on these failures, see this check.

Results for commit 35472e7.

@github-actions
Copy link
Copy Markdown

Test Results (py3.14 on ubuntu-24.04)

19 903 tests   19 647 ✅  1m 34s ⏱️
     1 suites       0 💤
     1 files       256 ❌

For more details on these failures, see this check.

Results for commit 35472e7.

@RoryBarnes RoryBarnes merged commit 996173d into main Feb 20, 2026
1 of 38 checks passed
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