Fix CI/CD workflow to use correct Python versions and PyPI URL#78
Fix CI/CD workflow to use correct Python versions and PyPI URL#78nick-gorman merged 12 commits intomainfrom
Conversation
nick-gorman
commented
Feb 12, 2026
- Pass matrix python-version to setup-uv, uv sync, and uv run so tests actually run against the specified Python versions
- Remove Python 3.9 from matrix (requires-python is >=3.10)
- Fix PyPI publish URL from isp-workbook-parser to ispypsa
- Bump actions/checkout to v4 and astral-sh/setup-uv to v5
- Pass matrix python-version to setup-uv, uv sync, and uv run so tests actually run against the specified Python versions - Remove Python 3.9 from matrix (requires-python is >=3.10) - Fix PyPI publish URL from isp-workbook-parser to ispypsa - Bump actions/checkout to v4 and astral-sh/setup-uv to v5
- Update requires-python from >=3.10,<3.13 to >=3.11,<3.15 - Update CI matrix to test 3.11, 3.12, 3.13, 3.14 - Add noxfile.py for local multi-version testing
for more information, see https://pre-commit.ci
Codecov Report✅ All modified and coverable lines are covered by tests. 🚀 New features to boost your workflow:
|
|
FYI I dropped But basically ended up with a somewhat semi issue with Seems to be working on linux/macos - no idea why it's not with windows am afraid. p.s. an another / unrelated issue (maybe best dealt with somewhere else?) - seems like the Any way tl;dr is tried to fix, but failed (at least on windows) |
scipy 1.15.x has a known access violation in _ksstats.py on Windows with Python 3.13. Adding a version floor in pyproject.toml ensures both CI and end users avoid the buggy version. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The root cause of the CI segfault was numpy 1.26.4 being resolved for Python 3.13. That version predates Python 3.13 and has no pre-built wheels, so it was compiled from source producing a broken binary on Windows. Adding a version floor ensures all users get a numpy version with proper Python 3.13 support. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The scipy segfault was caused by the broken numpy, not scipy itself. The numpy>=2.0.0 constraint is sufficient. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Thanks @dylanjmcconnell, I tracked the windows failure down to a numpy versioning (build) issue. Looks good now. Note, I removed 3.10, which is technically a breaking change, but I guess we are allowed to do that because ISPyPSA isn't stable. Let me know if you have any other comments before we push. |
|
Hey Nick - given upgrade to I think given this (and that this PR is upstream of the 'pyspa-upgrade' PR) - think it makes most sense to merge this PR (then rebase (*Haven't had a chance to properly look at that - seems okay, but maybe need to have a better look / review too) |
|
@dylanjmcconnell, your suggested sequencing makes sense to me, I'll merge this PR. |