This repository was archived by the owner on Nov 5, 2022. It is now read-only.
This repository was archived by the owner on Nov 5, 2022. It is now read-only.
New publish API #82
Open
Description
This is a meta-issue to track various different requests related to publishing that will require a new API. Feel free to add any I've missed!
- New method to uploading the crate payload: Consider Using a WebSocket for Publish Endpoint #57. (Primarily for timeouts?)
- Some sort of feedback to know when the crate is successfully added to the index. I'm not sure if this is possible without polling from Cargo.
- Pre-flight validation before uploading and before building the crate.
cargo publish
should warn on invalid categories/keywords cargo#4300 — keyword validation- Request: Align validations between Cargo and Crates.io #41 — Aligning validation (would be much easier if it was all server-side).
- on cargo publish, check for verified email before compiling cargo#8221 — Check email validation before uploading.
- Fail fast when package version is already published cargo#3662 — Another early validation request.
- Add a dry-run publish API crates.io#1515 — "dry run" validation
- Publishing multiple crates at once, atomically (either all "pass" or all "fail").
- cargo publish multiple packages at once cargo#1169 —
publish --all
- cargo publish multiple packages at once cargo#1169 —
See also:
- Tangential notes on publish API: General outline of proposed updates to publishing logic crates.io#1522
Prior art
- npm is proposing a "staged" publish model where the packages are actually published, but gated with a
--staged
flag, until a manual step is performed to "approve" the publish: RFC: Add staging workflow for CI and human interoperability npm/rfcs#92. Could be interesting to consider!- A similar request for an "approval" step: crates.io token scopes rfcs#2947 (comment)
Metadata
Metadata
Assignees
Labels
No labels