scikit-learn / scikit-learn/scikit-learn
Create a process for releasing a wheel for a new Python version with a previous sklearn version on CI
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 67.3k
- Forks
- 27.4k
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 58
Description
For version 1.5.2, the wheels were not updated from the CI, but from an API key. Moving forward, I think we should update our CI to allow us to push specific python versions. I propose this process:
- Prerequisite: Python 3.14rc support added to
cibuildwheel+numpy&scipyhas wheels for it - Update
build_tools/cirrus/arm_wheel.ymland.github/workflows/wheels.ymlto support the new version on1.X.Xbranch - Trigger
.github/workflows/publish_pypi.yml(workflow_run) with a specific python version which will only upload wheels for that python version.
These are the tasks I see:
- Required: Update
.github/workflows/publish_pypi.ymlto accept a specific python version and only upload that python version. - Nice to have, but not required:
build_tools/cirrus/arm_wheel.ymland.github/workflows/wheels.ymlto only build wheels for a specific python version.
CC @lesteve
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading .github/workflows/publish_pypi.yml, then compare the Python-version handling in build_tools/cirrus/arm_wheel.yml and .github/workflows/wheels.yml. Verify how workflow_run is triggered and how a specific Python version is selected. Done means the publish workflow accepts a requested version and uploads wheels only for that version; the other workflow updates are optional.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python
- Domain
- build-system, ci-cd, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100