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:
- checking out the sources
- running the test suite against the release version of the JDK
- build the artifacts
- upload the artifacts to Bintray
- synchronize the version with Maven Central
- unzip the documentation to the web server
- tag and push the tag
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.
- log into http://ci.groovy-lang.org
- click on the release plan
- then on the Artifactory Release Management tab
This is where you will be able to perform the release. You need to fill the form with the following values:
- groovyVersion : normal Groovy version
- release value is the version you want to publish. In the screenshot, we want to release Groovy 2.3.0-rc-2
- next integration value is the value of the version is we want on VCS after the release. Since here it's a RC, we want to switch back to 2.3.0-SNAPSHOT. In a final release, this usually corresponds to X.Y.(Z+1)-SNAPSHOT
- groovyBundleVersion : OSGI specific version
- release value is the version you want to publish. In the screenshot, we want to release Groovy 2.3.0.rc-2
- next integration value is the value of the version is we want on VCS after the release. Since here it's a RC, we want to switch back to 2.3.0.SNAPSHOT. In a final release, this usually corresponds to X.Y.(Z+1).SNAPSHOT
- checkout branch is very important and corresponds to the branch we want to release from. In the screenshot, we are releasing from the GROOVY_2_3_0_RC_X branch
- Use release branch is not mandatory. If checked, then a specific branch will be used to release. This can be useful if you expect commits to be pushed while a release is in progress.
- Create VCS tag should always be checked. Put here the name of the release tag to be pushed after the release is done.
- Artifactory configuration: choose the oss-release-local repository.
- Staging comment is useful when we go to the artifactory UI. Put here a comment about the release.
- Then click on "Build and Release to Artifactory"
The release will be queued and executed once build agents are available.
Instructions (for 2.0+ releases)
Make sure you are using a Java 7 JDK, otherwise Groovy would be compiled without invoke dynamic support