Skip to content

TestNG release process

Krishnan Mahadevan edited this page Jun 30, 2022 · 1 revision

The release process always begins by releasing out Release Candidate builds.

  • To release a release candidate build, run the github action publish-maven-central
  • This would be a manual trigger and it would need the Release Candidate (RC) number to be specified. 1 would be a good value to start with.
  • Once the RC build runs to completion, open up the logs under the section Publish Release Candidate and look for a line that looks like below
Git SHA: 2312fca5476d8c9681d54127cea6618762333b91
Staging repository: https://oss.sonatype.org/content/repositories/orgtestng-1082

We can now circulate this staging URL for people to use as their Gradle/Maven Repositories and consume the Release candidate that was released.

Maven Users would basically use a repository tag that looks like below

<repository>
    <id>maven-central-staging</id>
    <url>https://oss.sonatype.org/content/repositories/orgtestng-1082</url>
</repository>

and for gradle users it would be as below

repositories {
    mavenCentral()

    maven {
        url 'https://oss.sonatype.org/content/repositories/orgtestng-1082' }
}
  • If more than one release candidate builds are required to be published, follow the above cited steps repeatedly.

  • Once we have ascertained that a particular RC build is now good to be released as a stable release build, make a note of the below two information from the last run/run logs of publish-maven-central

    • RC Number that you provided as input for the last run.
    • The Repository ID from the staging URL that was retrieved from the run logs. For e.g., the repository id would be orgtestng-1082 if the staging URL was https://oss.sonatype.org/content/repositories/orgtestng-1082
  • Now input the RC Number and the Repository ID that was retrieved from the previous step and run the github action release-maven-central from the Actions tab.

With this the release for TestNG would be completed.

Post release activities that need to be performed.

  • Explicitly create a tag that matches the commit ID of the RC candidate tag. Every-time we run publish-maven-central to create a RC build, this github workflow creates a RC tag that ends with RC and which can be found in the Github tags page)
  • Send a release notification email to the testng-users@googlegroups.com distribution list.
  • Update the link for the release notes in README.md