warehouse icon indicating copy to clipboard operation
warehouse copied to clipboard

Support `X-PyPI-Is-Staged`

Open DarkaMaul opened this issue 11 months ago • 0 comments

This PR is built on top of #17257 and implements the second stage of staged release.

The workflow is as follows:

  • A user sends a request to legacy/?:action=file_upload with the header X-PyPI-Is-Staged to initiate a stage release. If the header is set, the release field published is set to False.
  • The user then can perform multiple requests to the same endpoint with the header set. (_restrictions on file immutability still apply - it is impossible to replace a previously uploaded file). While the header is set, the release has still not been published.
  • With the last upload, the user MUST not send the header. This will publish the release.

A follow-up PR will add the possibility of publishing / un-stage a release via the user interface.

/cc @woodruffw @facutuesca

marked as draft until #17257 is merged

DarkaMaul avatar Dec 27 '24 14:12 DarkaMaul