This document describes the steps to release a new version of DNSimple/Rust.
- You have commit access to the repository
- You have push access to the repository
- You have a GPG key configured for signing tags
-
Determine the new version using Semantic Versioning
VERSION=X.Y.Z
- MAJOR version for incompatible API changes
- MINOR version for backwards-compatible functionality additions
- PATCH version for backwards-compatible bug fixes
-
Update the version file with the new version
Edit
Cargo.toml:version = "$VERSION"
-
Run tests and confirm they pass
cargo test -
Update the changelog with the new version
Finalize the
## mainsection inCHANGELOG.mdassigning the version. -
Commit the new version
git commit -a -m "Release $VERSION" -
Push the changes
git push origin main
-
Wait for CI to complete
-
Create a signed tag
git tag -a v$VERSION -s -m "Release $VERSION" git push origin --tags
The
releaseGitHub action should take it from here and release the package to crates.io.
- Verify the new version appears on crates.io
- Verify the GitHub release was created
- Announce the release if necessary