actions / actions/setup-python
allow-prereleases: restrict to alpha, beta, rc
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.2k
- Forks
- 739
- Avg merge
- 6d 18h
- Merged PRs (30d)
- 1
Description
I maintain a C++/Python package that uses the Python's C-API. I'd like to test the package against pre-releases, but only after the ABI/API have stabilized, i.e., RCs.
Right now, setup-python has allow-prereleases which falls back to the most recent pre-release if there's no stable release yet.
I'd like to propose a more fine-grained control over which prereleases should be selected:
-
(
allow-prereleases: 'dev': Use dev, alpha, beta, rc prereleases) -
allow-prereleases: 'alpha': Use alpha, beta, rc prereleases (not dev, equivalent toallow-prereleases: true) -
allow-prereleases: 'beta': Use beta, rc prereleases (not dev, not alpha) -
allow-prereleases: 'rc': Use rc prereleases (not dev, not alpha, not beta)
Even simpler, one could use allow-releases:
-
(
allow-releases: 'dev': Use dev, alpha, beta, rc, stable releases) -
allow-releases: 'alpha': Use alpha, beta, rc, stable releases (not dev, equivalent toallow-prereleases: true) -
allow-releases: 'beta': Use beta, rc, stable releases (not dev, not alpha) -
allow-releases: 'rc': Use rc, stable releases (not dev, not alpha, not beta) -
allow-releases: 'stable'(default): Use stable releases (not dev, not alpha, not beta, not rc)
Contributor guide
No contributing guide indexed for this repository
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 tracing how setup-python currently interprets allow-prereleases and selects Python versions. Compare the proposed prerelease levels, resolve whether allow-prereleases or allow-releases is the intended interface, and verify that each level selects the stated versions without changing the default stable behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, typescript
- Domain
- ci-cd, devops
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100