Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. 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.
  2. Ensure that all JIRA tickets mentioned in commits (since the last release branch was cut) are marked as Resolved in JIRA.  If not, ask assignees if there is still more work to be done.
  3. 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 mark it Resolved or  increment the fix version.
  4. 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
    languagebash
    git checkout develop
    git checkout -b release/{version} [GOOD_SHA]


  5. Update the version number in gradle.properties (and remove -SNAPSHOT)

  6. Change SNAPSHOT to "" for SEMVER_PRERELEASE_TOKEN in ci/pipelines/meta/meta.properties

  7. Update the version number in all the expected pom files:

    Code Block
    languagebash
    ./gradlew clean
    ./gradlew build -Dskip.tests=true #note: ok if build fails expected pom test
    ./gradlew updateExpectedPom

     

  8. 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 dedicated version/highwater tag on the release branch.

    See ci/pipelines/shared/jinja.variables.yml around line 19:

    Code Block
    languageyml
     benchmarks:
       baseline_branch: develop/highwater
       baseline_version: ''
       benchmark_branch: release/{version}


  9. Publish the release branch to origin

    Code Block
    languagebash
    git add .
    git commit -a -m "Upgraded version number for releasing {version}"
    git push origin HEAD


  10. Now checkout the repo for geode-examples (apache/geode-examples.git) and create a release branch.

    Code Block
    languagebash
    git clone git@github.com:apache/geode-examples.git
    git checkout develop origin/develop
    git checkout -b release/{version}


  11. Update the version number in gradle.properties of geode-examples and remove -SNAPSHOT

    No Format
    version = 1.7.0
    geodeVersion = 1.7.0


  12. Commit the version changes and push the release branch of geode-examples


    Code Block
    languagebash
    git add -p
    git commit
    git push origin HEAD


  13. Checkout the repo for geode-native (apache/geode-native.git) and create a release branch


    Code Block
    languagebash
    git checkout develop
    git pull
    git checkout -b release/{version}
    git push origin HEAD


  14. Checkout the repo for geode-benchmarks (apache/geode-benchmarks.git) and create a release branch


    Code Block
    languagebash
    git checkout develop
    git pull
    git checkout -b release/{version}
    git push origin HEAD


  15. 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 no concerns are raised, we will start with the voting for the release candidate soon.
    
    Regards
    {Release Manager}


  16. Create the concourse release pipeline.

    Code Block
    languagebash
    fly -t concourse.apachegeode-ci.info-main login --concourse-url https://concourse.apachegeode-ci.info/
    cd ci/pipelines/meta
    ./deploy_meta.sh


  17. Monitor the new release pipeline and resolve any issues that may arise. 

...