Skip to content

Release

Nikolai Amelichev edited this page Jan 25, 2024 · 7 revisions

Manual Release Process

In main branch:

  1. Determine the release version:
cd <project directory>
export YOJ_VERSION=<Current project version with -SNAPSHOT suffix removed>
  1. Update version to release for all modules but BOM:
mvn versions:set -DnewVersion=${YOJ_VERSION}
  1. Update version to release for BOM module:
cd ./bom
mvn versions:set -DnewVersion=${YOJ_VERSION}
cd ..
  1. Update version in README.md example (<version>...</version>)
  2. git add all changed files:
git add -A
  1. Commit the release:
git commit -m "Release YOJ ${YOJ_VERSION}"
  1. Tag the release:
git tag "v${YOJ_VERSION}"
  1. Push the tag and new commit to main:
git push origin --all
  1. After creating the tag, the new version will be published to Sonatype Staging by an automatic build, e.g.: https://github.com/ydb-platform/yoj-project/actions/runs/7477939156
  2. If the build is successful, ping @nvamelichev or @alex268. We will review the new release and allow it to be deployed to Maven Central.
  3. Update YOJ dependencies in your projects as soon as the new release appears in https://central.sonatype.com/search?q=tech.ydb.yoj
  4. Prepare for development of the next version:
export YOJ_VERSION=<release version with last component incremented by 1>-SNAPSHOT
cd <project directory>
mvn versions:set -DnewVersion=${YOJ_VERSION}
cd ./bom
mvn versions:set -DnewVersion=${YOJ_VERSION}
cd ..

git add -A

git commit -m "Prepare for development of YOJ ${YOJ_VERSION}"
git push origin
Clone this wiki locally