Skip to content

Latest commit

 

History

History
85 lines (56 loc) · 1.75 KB

File metadata and controls

85 lines (56 loc) · 1.75 KB

Releasing

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

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. Run tests and confirm they pass

    ./gradlew clean test

    (use gradlew.bat in Windows instead)

  3. Update the version files with the new version

    Edit dnsimple.java:

    public interface Dnsimple {
      public static final String VERSION = "$VERSION";
      //...
    }

    Edit build.gradle (setting the proper version):

    version = '$VERSION'

    Edit VERSION (setting the proper version):

    $VERSION
    
  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

    GitHub will take the new tag and release it automatically into Maven Central.

Post-release

  • Verify the new version appears on Maven Central
  • Verify the GitHub release was created
  • Announce the release if necessary