Skip to content

Latest commit

 

History

History
68 lines (44 loc) · 1.44 KB

File metadata and controls

68 lines (44 loc) · 1.44 KB

Releasing

This document describes the steps to release a new version of DNSimple/Rust.

Prerequisites

  • You have commit access to the repository
  • You have push access to the repository
  • You have a GPG key configured for signing tags

Release process

  1. 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
  2. Update the version file with the new version

    Edit Cargo.toml:

    version = "$VERSION"
  3. Run tests and confirm they pass

    cargo test
  4. Update the changelog with the new version

    Finalize the ## main section in CHANGELOG.md assigning the version.

  5. Commit the new version

    git commit -a -m "Release $VERSION"
  6. Push the changes

    git push origin main
  7. Wait for CI to complete

  8. Create a signed tag

    git tag -a v$VERSION -s -m "Release $VERSION"
    git push origin --tags

    The release GitHub action should take it from here and release the package to crates.io.

Post-release

  • Verify the new version appears on crates.io
  • Verify the GitHub release was created
  • Announce the release if necessary