CAS 4.2.x Release Process

This page documents the steps that a release engineer should take for cutting a CAS server release.

Environment Review

  • Set up your environment:
    • Load your SSH key and ensure this SSH key is also referenced in Github.
    • Adjust $GRADLE_OPTS to initialize the JVM heap size, if necessary.
    • Load your ~/.gradle/gradle.properties file with the following:
1
2
3
4
5
6
signing.keyId=
signing.password=
signing.secretKeyRingFile=
sonatypeUsername=
sonatypePassword=
org.gradle.daemon=false
  • Checkout the CAS project: git clone git@github.com:Apereo/cas.git cas-server

Preparing the Release

  • Create a branch for the release version, if necessary (i.e 4.2.x).
  • Switch to the release branch.
  • In the project’s gradle.properties, change the project version to the release version (i.e. 4.2.0-RC1)
  • Build the project using the following command:
1
./gradlew clean build -x test --parallel -DskipCheckstyle=true -DskipFindbugs=true
  • Release the project using the following commands:
1
./gradlew uploadArchives -DpublishReleases=true
  • In the project’s gradle.properties, change the project version to the next release version (i.e. 4.2.0-RC2)
  • Create a tag for the released version and push the tag to the upstream Apereo repository. (i.e. v4.2.0-RC1).
  • Switch to the master branch and in the project’s gradle.properties, change the project version to the next development version (i.e. 4.3.0-SNAPSHOT). Push your changes to the upstream Apereo repository.

Performing the Release

Follow the process for deploying artifacts to Maven Central via Sonatype OSS repository.

  • Log into https://oss.sonatype.org.
  • Find the staged repository for CAS artifacts
  • “Close” the repository.
  • “Release” the repository. Both c and d should be accompanied by email confirmation.

Housekeeping

  • Close the milestone for this release.
  • Find the release that is mapped to the released tag, update the description with the list of resolved/fixed issues and publish it as released.
  • Mark the release as pre-release, when releasing RC versions of the project.
  • Send an announcement message to @cas-announce, @cas-user and @cas-dev mailing lists. A template follows:
1
2
3
4
5
6
7
8
CAS Community,

CAS x.y.z is available for testing and evaluation. We encourage adopters to grab 
this release from Maven Central, integrate into your environment, and provide feedback.

Regards,
John Smith

Update Maven Overlay

Update the following overlay projects to point to the newly released CAS version. This task is only relevant when dealing with GA releases.

Docker Image

Release a new CAS Docker image. This task is only relevant when dealing with GA releases.