...
- Check for the most recent develop SHA that passes all the tests and contains all the features / bug fixes that need to go into the release at https://concourse.apachegeode-ci.info/teams/main/pipelines/apache-develop-main/jobs/UpdatePassingTokens.
Create the release branch (from HEAD should be fine, or if necessary you can specify a particular SHA, such as the last commit that passed the develop pipeline successfully)
Code Block language bash git checkout develop git checkout -b release/{version} [GOOD_SHA]
Update the version number in
gradle.properties
(and remove-SNAPSHOT
)Change
SNAPSHOT
to""
forSEMVER_PRERELEASE_TOKEN
inci/pipelines/meta/meta.properties
Update the version number in all the expected pom files:
Code Block language bash ./gradlew clean ./gradlew build -Dskip.tests=true #note: ok if build fails expected pom test ./gradlew updateExpectedPom
- Update JAR name used in org/apache/geode/session/tests/Tomcat8ClientServerRollingUpgradeTest.java
Remove `-SNAPSHOT` from the following lines:
Code Block language yml "/lib/geode-modules-" + currentVersion + "-SNAPSHOT.jar", "/lib/geode-modules-tomcat8-" + currentVersion + "-SNAPSHOT.jar",
the resulting change will look like:
Code Block language yml "/lib/geode-modules-" + currentVersion + ".jar", "/lib/geode-modules-tomcat8-" + currentVersion + ".jar",
Review the benchmark baseline. It should be the more recent of {previous release} or
develop/highwater
. Note: as the release progresses, consider creating and using a dedicatedversion/highwater
tag on the release branch.See ci/pipelines/shared/jinja.variables.yml around line 19:
Code Block language yml benchmarks: baseline_branch: develop/highwater baseline_version: '' benchmark_branch: release/{version}
Publish the release branch to origin
Code Block language bash git add . git commit -a -m "Upgraded version number for releasing {version}" git push origin HEAD
Now checkout the repo for geode-examples (apache/geode-examples.git) and create a release branch.
Code Block language bash git clone git@github.com:apache/geode-examples.git git checkout develop origin/develop#very important--a fresh clone of examples gives you master! git pull git checkout -b release/{version}
Update the version number in gradle.properties of geode-examples and remove -SNAPSHOT
No Format version = 1.7.0 geodeVersion = 1.7.0
- Commit the version changes and push the release branch of geode-examples
Code Block language bash git add -p git commit git push origin HEAD
- Checkout the repo for geode-native (apache/geode-native.git) and create a release branch
Code Block language bash git checkout develop git pull git checkout -b release/{version} git push origin HEAD
- Checkout the repo for geode-benchmarks (apache/geode-benchmarks.git) and create a release branch
Code Block language bash git checkout develop git pull git checkout -b release/{version} git push origin HEAD
Send email to dev@geode.apache.org informing the creation of the release branch and requesting feedback.
No Format Hello Geode Dev Community, We have created a new release branch for Apache Geode {version} - "release/{version}" We hope to make a final release in about a month. Please focus your acceptance testing on this branch and raise any concerns in the next few weeks. After some quiet period we will move to formally package a release candidate and vote upon it. Regards {Release Manager}
Create the concourse release pipeline.
Code Block language bash fly -t concourse.apachegeode-ci.info-main login --concourse-url https://concourse.apachegeode-ci.info/ cd ci/pipelines/meta ./deploy_meta.sh
This script takes 1-2 hours. There is no need to manually unpause any jobs. If the script fails at any point, or any
-meta
or-images
pipeline job fails, fix the problem (if applicable) and rerun./deploy_meta.sh
to try again. Repeat untildeploy_meta
exits with "Successfully deployed
...-main
"- For the duration of the release process, continue to monitor the new release pipeline and address any issues that may arise, including analyzing any test failures.
...