Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Gyrex/Contributor Guide/Releng
Please read through the following to get a better understanding of how releases are done.
Contents
Publishing Builds on download.eclipse.org
Builds get published automatically on download.eclipse.org. However, only I-Builds run automatically once per week. All other builds must be triggered manually.
Hudson: gyrex-latest
For producing development, milestone and major or minor release builds (no service releases).
https://hudson.eclipse.org/gyrex/job/gyrex-latest/
Parameter | Description | Integration Builds | Milestone Builds | Release Builds |
BUILD_TYPE | The type of a build. | I | S | R |
BUILD_IDENTIFIER | A specific identifier to label the build or empty to generate a default one. | (leave empty) | upcoming minor release (eg. 1.3) plus suffix (eg. M1, M2, ... RC1, RC2...) without space (eg. 1.3M1, 2.0RC1, ...) | major.minor for minor and major releases (eg. 1.3, 2.0); note: see below for service releases |
BUILD_BRANCH | The branch to build from. | should always be master (until instructed/discussed otherwise) | ||
PUBLISH_STREAM | The stream this gets published to on download.eclipse.org/gyrex/$PUBLISH_STREAM/...
|
should be the upcoming minor release (eg. 1.3) without last version component, just major.minor
|
Hudson: gyrex-maintenance
For producing service releases and maintenance builds out of the maintenance branch.
https://hudson.eclipse.org/gyrex/job/gyrex-maintenance/
Parameter | Description | Integration Builds | Milestone Builds |
BUILD_TYPE | The type of a build. | M | R |
BUILD_IDENTIFIER | A specific identifier to label the build or empty to generate a default one. | (leave empty) | major.minor.service, i.e. exact release version of service releases (eg. 1.3.1, 2.0.1, 2.1.4) |
BUILD_BRANCH | The branch to build from. | should be the "current" maintenance branch (eg. "maintenance/1.3" for 1.3.x builds) | |
PUBLISH_STREAM | The stream this gets published to on download.eclipse.org/gyrex/$PUBLISH_STREAM/...
|
should be the current minor release stream (eg. 1.3 for 1.3.x builds) without last version component, just major.minor
|
Performing a Release
The following outlines the steps necessary for producing a release.
Pre-Release Steps
- Publish a few milestone builds as release candidates (RC1, RC2, RC3 ...)
Release Maven Parent and Target Platform
- Update Maven
pom.xml
and remove-SNAPSHOT
version suffix from:-
gyrex-releng/mavenparent/pom.xml:
- project -> version
- project- > properties -> gyrex-target-platform.version
- Important: if you find any other *.version property in project- > properties containing a -SNAPSHOT suffix you MUST abort here! Revert any changes, then update those versions to the release versions and start again with publishing and testing at least one additional RC (release candidate) build!
-
gyrex-releng/targetplatform/pom.xml:
- project -> parent -> version
-
- Test build of mavenparent and targetplaform locally
- cd gyrex-releng/mavenparent && mvn clean verify
- cd gyrex-releng/targetplatform && mvn clean verify
- Commit changes and push to upstream
- Trigger build of the following Hudson jobs:
- Update references to the parent version in all Gyrex modules to be released by removing
-SNAPSHOT
version suffix from:-
gyrex-platform/pom.xml:
project -> parent -> version -
gyrex-admin/pom.xml:
project -> parent -> version -
addons/gyrex-jersey-jaxrs/pom.xml:
project -> parent -> version -
addons/gyrex-mongodb-persistence/pom.xml:
project -> parent -> version -
addons/gyrex-search/pom.xml:
project -> parent -> version
-
- Test build of each component locally
- Commit changes and push to upstream
- Produce one additional RC (release candidate) build and test it thoroughly.
- When testing is done and turns out OK, proceed with next section.