Release workflow: Atomic PyPI pushing?

Open
#4,839 1 comment 0 reactions 0 assignees View on GitHub

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

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

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from psf/black

All issues in psf/black

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.