crabster

Publier une version

Ce document n'existe qu'en un seul exemplaire dans le dépôt : les deux langues du site pointent sur le même texte.

{% raw %} Crabster is three crates published from one workspace, and they carry one version between them — see CONTRIBUTING.md for why the templates carry a second one that moves independently.

Publishing is irreversible: crates.io never lets a version be replaced, only yanked. Everything below is arranged so the irreversible step is last, and so that nothing reaches it that has not already been built from the exact archive that will be uploaded.

Before anything🔗

The version🔗

Publishing🔗

In dependency order, because each crate is built from the registry copy of the one before it:

cargo publish -p crabster-cdl
cargo publish -p crabster-codegen   # wait for the index to carry crabster-cdl
cargo publish -p crabster-cli       # and crabster-codegen

crates.io needs a moment to make a just-published version resolvable. If the second command cannot find the first crate, that is what happened; waiting is the fix, not --no-verify.

After publishing🔗

Everything here needs the crates to be on the registry. Nothing here is what makes a release exist — that happened above — and holding one of these back is not a reason to hold back the tag.