Fix 3.0.0 publishing and add Python 3.14 wheels - #143
Merged
skilledwolf merged 5 commits intoSep 17, 2026
Merged
Conversation
skilledwolf
marked this pull request as ready for review
September 16, 2026 03:40
egull
approved these changes
Sep 16, 2026
marcusr2ML
approved these changes
Sep 17, 2026
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.
Summary
The
v3.0.0tag originally built Python distributions with version2.3.4b1, so PyPI rejected an existing filename. The C++ SDK also still reported2.3.4. Set both versions to3.0.0and validate the SDK, Python package, and release tag before building. Check every distribution's filename and embedded metadata before publishing; prerelease tags are compared with their PEP 440 equivalents.Add CPython 3.14 to the normal wheel builds using cibuildwheel 4.2.0, retaining Python 3.9–3.13. Publishing uses one path: build and test the triggering commit, validate all artifacts, and upload on version-tag pushes. Document version preparation and recovery from an incorrect release.
Run both workflows on pull requests to
master, pushes tomaster, and release tags. Cancel superseded PR runs automatically; other runs have independent concurrency groups. Give native jobs unique names containing OS, compiler, Python, Boost, and C++ standard. All 34 native build configurations and their build/test commands are preserved.Type of change
Testing
GITHUB_REF, prereleases, stale distributions, and renamed artifacts with incorrect metadata. The simplified tests retain the distinct regression scenarios.GITHUB_REF=refs/tags/v3.0.0; source-distribution metadata, generated wheel metadata, and the CMake SDK version were verified as3.0.0. The validator rejects the actual stale source distribution from the failed release.actionlint; both workflows pass structure/expression validation. The native shell scripts retain the same 14 pre-existing ShellCheck diagnostics, confirmed against the previous commit.git diff --checkpasses.pyalps 3.0.0wheels with unpinnedpip install pyalps. Native HDF5/parameter checks, a bundled eight-spinloopsimulation, result loading, all five Python tests, andpip checkpassed.Fresh CI for
ffc8c0536is running: native builds and tests and Python packaging. The earlier runs were superseded; their cancellations are not counted as passing checks.Checklist
Release follow-up
PyPI now contains
3.0.0with 18 wheels and one source distribution. The corrected tag remains at1950cc6f682d7c4c1deae8b816f283857b1819d1. Initial publishing and Python 3.14 wheel publishing both succeeded. This PR brings the version correction, validation, Python 3.14 coverage, and permanent workflow cleanup intomaster.Related issues
Fixes #142. Python 3.14 build settings also appear in #140.