...
- 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/beta/teams/main/pipelines/develop/jobs/UpdatePassingRef.
- Ensure in JIRA, that all tickets with {version} as the fix version are either closed or resolved. If not inform the the assignees to either resolve/close it or if not fixed then increment the fix version in the ticket
Create the release branch.
Code Block title Create release branch git checkout -b release/{version}
gradle.properties
- remove -SNAPSHOT in releaseType
- docker/Dockerfile
- Update GEODE_GPG with your GPG fingerprint.
- Update GEODE_VERSION with the release version (eg. 1.8.0)
Update the version number in all the expected pom files. Doing it manually takes a lot of time. If you choose to do it I have listed the files below. Otherwise please use the script below to do it.
Info title Updating the expected-pom files - build geode after the version is updated in gradle.properties. NOTE: The build will fail but will have the correct expected-pom.xml files
Code Block language bash title gradle build ./gradlew clean build -Dskip.tests=true
- Update dependency versions using gradle task updateExpectedPom.
Code Block language bash title gradle uEP ./gradlew uEP
- Update the file geode-assembly/src/integrationTest/resources/assembly_content.txt with correct version. This can be done manually or use the below steps.
Code Block language bash title assemble_content.txt #remove the existing assembly_content.txt rm geode-assembly/src/integrationTest/resources/assembly_content.txt #Put the new files to a new assembly_content.txt find geode-assembly/build/install/apache-geode -type f | cut -c 43- | sort >> geode-assembly/src/integrationTest/resources/assembly_content.txt #Verify that these files have changed to the right version --- if you want to do it manually, these are the files in assembly_context.txt. # lib/geode-jca-1.8.0.rar # lib/geode-json-1.8.0.jar # lib/geode-lucene-1.8.0.jar # lib/geode-old-client-support-1.8.0.jar # lib/geode-protobuf-1.8.0.jar # lib/geode-protobuf-messages-1.8.0.jar # lib/geode-rebalancer-1.8.0.jar # lib/geode-wan-1.8.0.jar # lib/geode-web-1.8.0.jar # lib/geode-common-1.8.0.jar # lib/geode-connectors-1.8.0.jar # lib/geode-core-1.8.0.jar # lib/geode-cq-1.8.0.jar # tools/ClientProtocol/geode-protobuf-messages-definitions-1.8.0.zip # tools/Extensions/geode-web-1.8.0.war # tools/Extensions/geode-web-api-1.8.0.war # tools/Modules/Apache_Geode_Modules-1.8.0-AppServer.zip # tools/Modules/Apache_Geode_Modules-1.8.0-Tomcat.zip # tools/Modules/Apache_Geode_Modules-1.8.0-tcServer.zip # tools/Modules/Apache_Geode_Modules-1.8.0-tcServer30.zip # tools/Pulse/geode-pulse-1.8.0.war
- Update the geode-assembly/src/integrationTest/resources/dependency_classpath.txt with the correct version numbers.
Code Block language bash title dependency_classpath.txt #Manually change the version numbers in the below lines in the file: #geode-common-1.8.0-SNAPSHOT.jar #geode-connectors-1.8.0-SNAPSHOT.jar #geode-core-1.8.0-SNAPSHOT.jar #geode-cq-1.8.0-SNAPSHOT.jar #geode-json-1.8.0-SNAPSHOT.jar #geode-lucene-1.8.0-SNAPSHOT.jar #geode-old-client-support-1.8.0-SNAPSHOT.jar #geode-protobuf-1.8.0-SNAPSHOT.jar #geode-protobuf-messages-1.8.0-SNAPSHOT.jar #geode-rebalancer-1.8.0-SNAPSHOT.jar #geode-wan-1.8.0-SNAPSHOT.jar
- Publish the release branch to origin
Code Block title Publish the release branch git add . git commit -a -m "Upgraded version number for releasing {version}" pit push origin release/{version}
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}" Please do review and raise any concern with the release branch. If concerns are raised, we will start with the voting for the release candidate soon. Regards {Release Manager}
Send a email to dev@geode.apache.org requesting creation of a CI Setting up concourse release pipeline
a. You can set deploy a release pipeline by deploying a meta pipeline. So runRun
No Format Hello Geode Dev Community, $ cd ci/pipelines/meta $ ./deploy_meta.sh # You might need fly in your PATH # fly target named `concourse.apachegeode-ci.info` $ fly -t concourse.apachegeode-ci.info login --concourse-url https://concourse.apachegeode-ci.info/
b. Send an email to geode community to request someone to set it up. Send a email to dev@geode.apache.org requesting creation of a CI pipeline
No Format Hello Geode Dev Community, As we have created a release branch for Apache Geode {version} - "release/{version}" please create a CI pipeline for running tests on this branch. Regards {Release Manager}
...