Creating a release of the Yawg software

1. Introduction

The steps for making a an official release of the Yawg softare are enumerated below.

  • Validate the desired version number

  • Create release Git tag.

  • Create release tarball and deploy to Open Source Software Repository Hosting (OSSRH) Maven staging repo.

  • Upload release tarball to Github.

  • Release OSSRH staging repo to Maven central.

The following sections describe with more detail what needs to be done in each step. The commands shown in the text assume your working area reflects the HEAD of the main branch.

2. Validate desired version number

Ensure the desired version number is defined at conf/yawg-defaults.conf.

If you do make changes on conf/yawg-defaults.conf you will need to:

  • Run devtools/bin/build-sync-version to update the version number in all relevant locations.

  • Commit and push your changes to the Github repo.

  • Initiate the release process from the beginning.

3. Create release Git tag

The Git tag will mark the commit used for the release in the project change history.

The release Git tag is to be created at the HEAD of the master branch. Do it like this:

git tag -a v1.0.0-RC3 -m "Version 1.0.0-RC3"
git push origin v1.0.0-RC3

4. Create release tarball and deploy to OSSRH Maven staging repo

This step is composed of two actions:

  • Create a release tarball. The tarball will be named yawg-1.0.0-RC3.tar.bz2, and it will be created at the root of your working area.

  • Upload Maven artifacts to the OSSRH Maven staging repository. These Maven artifacts include the JARs and Javadocs of the Yawg libraries that are needed to integrate Yawg in other products.

To execute the two actions mentioned above the following command is used:

./devtools/bin/build-bundle --release

5. Upload release tarball to Github

The release tarball will be hosted at Github. This is the simplest solution for making the release tarball accessible for download.

  • With the tag created before.

  • With the tarball manually created in the previous section.

6. Release OSSRH staging repo to Maven central

The actions described in this section follow the instructions from Sonatype for OSSRH.

  • Go to https://oss.sonatype.org/ and login.

  • Look for the latest staging repository with a name starting with comvarmateo.

  • Check that the contents of that staging repository appear to be fine.

  • Click the Close action for the repository. This will prepare the staging repository for being copied to Maven Central.

  • Click the Release action for the repository. This will copy the staging repository to Maven Central. This process can take some minutes to complete. You can confirm the process has completed by checking on Maven Central at https://repo1.maven.org/maven2/com/varmateo/yawg/yawg-api/ that the new version is there.