Instructions (for 2.2+ releases)

Releases are now directly made from the CI server, which dramatically simplifies the procedure. Basically, the process is fully automated and only involves filling a form. The CI server will take care of:

First step is to login to the CI server. You need a priviledged account to perform a release. If you don't have such an account, ask the Groovy project manager.

This is where you will be able to perform the release. You need to fill the form with the following values:

The release will be queued and executed once build agents are available.

If you don't see the branch you want to release from in the "checkout branch" list, then you need to first start a dummy build on that branch using the regular "run" button instead of the artifactory release management tab. This will inform the artifactory plugin that a new branch can be used as a release branch. Before doing so, it is recommanded that you temporarily disable the "groovy" and "documentation" build steps, then restore them once the branch is visible in the release management tab.

Recovering a failure with Artifactory/Bintray

The release process includes a critical build step that does all the required job to synchronize with artifactory, Bintray and Maven Central. Unfortunately, the process is not rock solid so errors may appear during the build. This explains how you can recover. First of all, you need to know:

You need root access to the CI server. Login to the CI server. You should find a directory named /tmp/release. Inside, you'll find a copy of the groovy build step. If the directory and the script isn't here, no problem, you can copy it.

Edit the script and replace the following lines:

The script uses log.message and log.error, which are not defined if you copied the script from the build step. If this is the case, add the following line after "def buildNumber=":

then you will find a number of flags that tell which step should be executed. Update the flags accordingly to the steps which failed, then execute the script.

 

Instructions (for 2.0+ releases)

Make sure you are using a Java 7 JDK, otherwise Groovy would be compiled without invoke dynamic support

./gradlew clean test

If everything passes, proceed to the next step. Otherwise, release is not possible and problems should be fixed first.

./gradlew clean dist

 

if the certificate needs an update see: https://docs.codehaus.org/display/HAUSMATES/Installing+a+new+CA+into+the+JDK

Instructions (for pre-2.0 releases)

if the certificate needs an update see: https://docs.codehaus.org/display/HAUSMATES/Installing+a+new+CA+into+the+JDK