CAS 5.0.x Release Process
This page documents the steps that a release engineer should take for cutting a CAS server release.
Account Setup
You will need to sign up for a Sonatype account and must ask
to be authorized to publish releases to the org.apereo
package. Once you have, you may be asked to have one of the
current project members vouch for you.
Environment Review
- 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 as an example:
1
2
3
4
signing.keyId=7A24P9QB
signing.password=P@$$w0rd
signing.secretKeyRingFile=/Users/example/.gnupg/secring.gpg
org.gradle.daemon=false
- Checkout the CAS project:
git --depth=10 clone git@github.com:apereo/cas.git cas-server
- Make sure you have the latest version of JDK 8 installed via
java -version
.
Preparing the Release
- If necessary, create an appropriate branch for the next release. Generally, you should do this only for major or minor releases. (i.e.
4.2.x
,5.0.x
) - In the project’s
gradle.properties
, change the project version to the release version. (i.e.5.0.0-RC1
) - Build the project using the following command:
1
./gradlew clean assemble install -x test --parallel -x check
- Release the project using the following commands:
1
./gradlew uploadArchives -DpublishReleases=true -DsonatypeUsername=<UID> -DsonatypePassword=<PASSWORD>
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.
Finalizing the Release
- Create a tag for the released version, commit the change and push the tag to the upstream repository. (i.e.
v5.0.0-RC1
). - Switch to the release branch and in the project’s
gradle.properties
, change the project version to the next development version (i.e.5.0.0-RC2-SNAPSHOT
). - Push your changes to the upstream repository.
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
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 Overlays
Update the following overlay projects to point to the newly released CAS version.
Update Maintenance Policy
Update the Maintenance Policy to note the release schedule and EOL timeline. This task is only relevant when dealing with major or minor releases.
Docker Image (Optional)
Release a new CAS Docker image. This task is only relevant when dealing with GA releases.