-
Notifications
You must be signed in to change notification settings - Fork 3
Migrate flux tests to Python 3.13 #877
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the 📝 WalkthroughWalkthroughThe CI workflow configuration was updated to use Python 3.13 instead of 3.12 in two separate environment setup sections: one for OpenMPI-related steps and another for MPICH-related steps. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
Pre-merge checks✅ Passed checks (3 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #877 +/- ##
=======================================
Coverage 93.27% 93.27%
=======================================
Files 38 38
Lines 1800 1800
=======================================
Hits 1679 1679
Misses 121 121 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: defaults
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/pipeline.yml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (20)
- GitHub Check: unittest_mpich (ubuntu-latest, 3.13)
- GitHub Check: unittest_mpich (ubuntu-22.04-arm, 3.13)
- GitHub Check: unittest_mpich (ubuntu-latest, 3.11)
- GitHub Check: unittest_mpich (macos-latest, 3.13)
- GitHub Check: unittest_openmpi (ubuntu-24.04-arm, 3.13)
- GitHub Check: unittest_openmpi (ubuntu-latest, 3.11)
- GitHub Check: unittest_mpich (ubuntu-24.04-arm, 3.13)
- GitHub Check: unittest_openmpi (ubuntu-latest, 3.12)
- GitHub Check: unittest_openmpi (ubuntu-latest, 3.13)
- GitHub Check: unittest_mpich (ubuntu-latest, 3.12)
- GitHub Check: unittest_openmpi (macos-latest, 3.13)
- GitHub Check: unittest_openmpi (ubuntu-22.04-arm, 3.13)
- GitHub Check: unittest_flux_openmpi
- GitHub Check: benchmark (ubuntu-latest, 3.13, .ci_support/environment-mpich.yml)
- GitHub Check: unittest_win
- GitHub Check: unittest_slurm_mpich
- GitHub Check: unittest_flux_mpich
- GitHub Check: unittest_old
- GitHub Check: benchmark (ubuntu-latest, 3.13, .ci_support/environment-openmpi.yml)
- GitHub Check: notebooks
🔇 Additional comments (2)
.github/workflows/pipeline.yml (2)
152-152: Consider updating notebooks jobs that also use flux.The
notebooks(line 152) andnotebooks_integration(line 177) jobs execute flux commands (flux start papermill...at lines 165-166 and 189-190) but remain on Python 3.12.Should these jobs also be migrated to Python 3.13 as part of this PR, or is there a specific reason they should remain on 3.12 (e.g., notebook dependencies)?
Also applies to: 177-177
205-205: Python 3.13 upgrade is compatible with flux-core 0.81.0.The version bump aligns with the PR objectives. flux-core 0.81.0 supports Python 3.12 or later, so Python 3.13 is fully supported.
| - uses: conda-incubator/setup-miniconda@v3 | ||
| with: | ||
| python-version: '3.12' | ||
| python-version: '3.13' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
flux-core 0.81.0 Python 3.13 support compatibility
💡 Result:
Short answer: No — flux-core 0.81.0 does not list official Python 3.13 support.
Evidence:
- flux-core 0.81.0 release notes (published Dec 2–3, 2025) make no mention of Python 3.13 support. [1]
- The project explicitly added Python 3.12 support in v0.59.0 (Feb 6, 2024), but later release notes and PyPI / flux-python artifacts for recent releases show wheels for CPython up to 3.11 (no cp313 wheel listed). [2][3]
If you need Python 3.13: you can either run flux-core with a supported Python (3.10–3.12/3.11 per the package artifacts) or try building the Python bindings from source against Python 3.13 (unsupported — may require patching). References: [1] flux-core v0.81.0 release notes; [2] flux-core v0.59.0 (Python 3.12 mention); [3] flux-python / PyPI wheel listings.
🌐 Web query:
flux-pmix 0.6.0 Python 3.13 support compatibility
💡 Result:
Short answer: flux-pmix 0.6.0 does not list official Python 3.13 support. flux-pmix is a Flux PMI plugin (C code) and does not itself declare a python_requires; Python compatibility for Flux features is governed by flux-core / flux-python, and the project added official Python 3.12 support (not 3.13) in flux-core releases. [1][2]
What to do next
- If you need runtime Python integration, use a flux-core / flux-python build that matches your Python interpreter; current official notes show support through Python 3.12. Test on 3.13 in a separate environment if you must use it. [1][2]
Sources
- flux-core release notes (Python 3.12 support). [1]
- flux-pmix package listings / repository (release versions including 0.6.0). [2]
Downgrade to Python 3.12 — flux-core 0.81.0 and flux-pmix 0.6.0 do not support Python 3.13.
flux-core 0.81.0 does not list Python 3.13 support. Official wheels are only built for CPython up to 3.11, with Python 3.12 being the latest officially supported version. flux-pmix 0.6.0 follows the same constraint. Change line 236 to python-version: '3.12'.
🤖 Prompt for AI Agents
In .github/workflows/pipeline.yml around line 236, the workflow sets
python-version to '3.13' but flux-core 0.81.0 and flux-pmix 0.6.0 do not support
3.13; change the value to '3.12' so the CI uses Python 3.12; update the line to
python-version: '3.12' and commit the workflow change.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.