-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Harden Rust crate releasing against human errors #293
Comments
The |
(3) is no longer necessary for non-major version updates: we now specify "internal" crate dependencies as major versions, so we should get the new version automatically. The |
@inahga, you're working on this currently, right? |
Accidentally, yes! Didn't realize this issue existed. |
Currently, to release new versions of the
janus_core
andjanus_client
crates, you have to do the following:janus_core/Cargo.toml
janus_client/Cargo.toml
janus_core
dependency injanus_client/Cargo.toml
Cargo.lock
It's very easy to forget to do any of steps 1-4 (I have at least once, #292). We could do better here. Some ideas (which may exclude each other);
cargo publish --dry-run
in CI to prove that the crates aren't busted (though I'm not sure how to make this work ifjanus_client
depends on an unpublishedjanus_core
)cargo publish
with--locked
in CI and/or release workflows to guarantee thatCargo.lock
is up to date (or run acargo build
and assert thatCargo.lock
is unchanged)Cargo.toml
based on the git tagThe text was updated successfully, but these errors were encountered: