Skip to content

Release

Nikolai Amelichev edited this page Mar 6, 2024 · 7 revisions

Semi-Automatic Release Process

  1. Ensure you are in the repository root, on the main Git branch, and there are no pending changes:

    cd <project directory>
    git status
    git pull --rebase
  2. Run the Prepare Release script:

    YOJ_VERSION=<release version> ./prepare-release.sh

    (If you have custom path to Maven 3.x, prepend MVN=<path/to/maven> to the command.)

    The script will ensure that new version builds by running mvn clean verify after updating the version to ${YOJ_VERSION} you specified.

    If the script finishes successfully, it will create the v<release version> tag.

  3. GitHub Actions will start building release artifacts for the new tag.

    Wait for "Release YOJ" GitHub action to finish successfully (this takes several minutes).

    The new version will be published to Sonatype Staging, which is accessible to @nvamelichev and @alex268.

  4. To deploy the new release to Maven Central and add it to the list of YOJ releases, ping @nvamelichev or @alex268.

  5. Check Maven Central (e.g. https://central.sonatype.com/artifact/tech.ydb.yoj/yoj-repository-ydb-v2/versions) for the new version to appear. This takes several hours.

  6. Run the Prepare Snapshot script to prepare for development of the next version:

    cd <project directory>
    YOJ_VERSION=<release version with last component incremented by 1>-SNAPSHOT ./prepare-release.sh

    (If you have custom path to Maven 3.x, prepend MVN=<path/to/maven> to the command.)

Clone this wiki locally