Release workflow: Atomic PyPI pushing?
Maintainers usually reply within 1 day
Nobody has claimed this yet.
- #4864 by @motalib-code — closed without merging
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- docker, github-actions, python
- Domain
- build-system, ci-cd, release
Research direction
Start by reading the release workflow and the referenced pull request #4611. Identify how wheels and other release artifacts are built and published, then define completion as building all wheels before publishing them together and gating Docker and other artifacts so a release is not partial.
Written by the indexing model from the issue text.
Description
As of now, each individual wheel is pushed to PyPI seperately. This means if CI fails on whatever wheel when making a PyPI release, the release will be incomplete.
These should follow best practices and construct all of the wheels to artifacts, before downloading the whole bunch and pushing to pypi in one swoop.
Ideally, this should also be gated with docker publish (but not build) and any other release artifacts that are created, in order to make sure releases are fully atomic.
half reference: https://github.com/psf/black/pull/4611 and I am willing to implement this if that issue has gone stale
- Dominant language
- Python
- Stars
- 42.2k
- Forks
- 3k
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 98
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing 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.
More from psf/black
-
--line-ranges selects the wrong source line with --skip-source-first-linePossibly taken @SaifAli-S claimed this today. OpenT: bug
Difficulty 3/5 1-2 days Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
Maintainers usually reply within 1 day
-
Odd behavior from `black` when handling long `lambda` functionsPossibly taken @harshitdeora claimed this 9 days ago. OpenF: linetoolong T: bug
Difficulty 3/5 1-2 days Newbie friendliness 57/100
Maintainers usually reply within 1 day
-
Project-relative cache-dir allows unrestricted pickle.load of attacker-controlled dataPossibly taken @rinopatrick claimed this 12 days ago. OpenS: needs discussion
Difficulty 4/5 3-5 days Newbie friendliness 22/100
Maintainers usually reply within 1 day
-
Compatible-release requires-python constraints infer unsupported targetsPossibly taken @harisawan-bit claimed this 108 days ago. Open
Difficulty 3/5 1-2 days Newbie friendliness 48/100
Maintainers usually reply within 1 day
Similar issues
-
add entry to blockOpen
Difficulty 1/5 Under an hour Newbie friendliness 65/100
StevenBlack/hosts#3299 ·
-
`garak --report` overwrites the input report when its name has no ".report"Possibly taken @0z5a claimed this today. Openneeds-triage
Difficulty 2/5 Half a day Newbie friendliness 72/100
Maintainers usually reply within 2 days
-
plot_graph crashes when a mesh node has no m2m edgePossibly taken @tygvi claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
mllam/neural-lam#883 · 1 comment ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
future-agi/future-agi#4092 · 1 comment ·
Maintainers usually reply within 1 day
-
transcript analytics: a text whose only protected spans the prose pass redacts is withheld wholeOpen
Difficulty 1/5 Under an hour Newbie friendliness 82/100
WingedGuardian/GENesis-AGI#4641 ·
Maintainers usually reply within 1 day