Versions Compared

Key

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

...

  1. Check for the most latest develop SHA that is passing all the tests and also 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.
  2. Ensure in JIRA, that all tickers 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
  3. Create the release branch.

    Code Block
    titleCreate release branch
    git checkout -b release/{version}


  4. gradle.properties

      1. remove -SNAPSHOT in releaseType 
  5. docker/Dockerfile
      1. Update GEODE_GPG with your GPG fingerprint.
      2. Update GEODE_VERSION with the release version (eg. 1.8.0)
  6. 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
    titleUpdating 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
    languagebash
    titlegradle build
    ./gradlew clean build -Dskip.tests=true


    - create a script in geode folder and assign executable permission.

    Code Block
    languagebash
    titleUpdate the expected pom files
    #!/bin/bash
    
    cp geode-assembly/build/publications/maven/pom-default.xml geode-assembly/src/test/resources/expected-pom.xml
    cp geode-common/build/publications/maven/pom-default.xml geode-common/src/test/resources/expected-pom.xml
    cp geode-concurrency-test/build/publications/maven/pom-default.xml geode-concurrency-test/src/test/resources/expected-pom.xml
    cp geode-connectors/build/publications/maven/pom-default.xml geode-connectors/src/test/resources/expected-pom.xml
    cp geode-core/build/publications/maven/pom-default.xml geode-core/src/test/resources/expected-pom.xml
    cp geode-cq/build/publications/maven/pom-default.xml geode-cq/src/test/resources/expected-pom.xml
    cp geode-dunit/build/publications/maven/pom-default.xml geode-dunit/src/test/resources/expected-pom.xml
    cp geode-experimental-driver/build/publications/maven/pom-default.xml geode-experimental-driver/src/test/resources/expected-pom.xml
    cp geode-json/build/publications/maven/pom-default.xml geode-json/src/test/resources/expected-pom.xml
    cp geode-junit/build/publications/maven/pom-default.xml geode-junit/src/test/resources/expected-pom.xml
    cp geode-lucene/build/publications/maven/pom-default.xml geode-lucene/src/test/resources/expected-pom.xml
    cp geode-old-client-support/build/publications/maven/pom-default.xml geode-old-client-support/src/test/resources/expected-pom.xml
    cp geode-protobuf-messages/build/publications/maven/pom-default.xml geode-protobuf-messages/src/test/resources/expected-pom.xml
    cp geode-protobuf/build/publications/maven/pom-default.xml geode-protobuf/src/test/resources/expected-pom.xml
    cp geode-pulse/build/publications/maven/pom-default.xml geode-pulse/src/test/resources/expected-pom.xml
    cp geode-rebalancer/build/publications/maven/pom-default.xml geode-rebalancer/src/test/resources/expected-pom.xml
    cp geode-wan/build/publications/maven/pom-default.xml geode-wan/src/test/resources/expected-pom.xml
    cp geode-web-api/build/publications/maven/pom-default.xml geode-web-api/src/test/resources/expected-pom.xml
    cp geode-web/build/publications/maven/pom-default.xml geode-web/src/test/resources/expected-pom.xml


    Delete the script and then build geode again and this time it should be successful. Do not skip documentation build.

    Code Block
    languagebash
    titleBuild Geode
    #delete the script you created in the previous step
    rm <script-name>.sh
    
    
    #build geode , it should be successful this time.
    ./gradlew clean build -Dskip.tests=true


    - 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
    languagebash
    titleassemble_content.txt
    #remove the existing assembly_content.txt
    rm  geode-assembly/src/integrationTest/resources/assembly_content.txt
    
    
    #go to the new build directory
    cd geode-assembly/build/install/apache-geode
    
    
    #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-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
    #lib/geode-dependencies.jar
    #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
    #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
    languagebash
    titledependency_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
    titlePublish the release branch
    git add .
    git commit -a -m "Upgraded version number for releasing {version}"
    pit push origin release/{version}



  7. 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}



  8. Send a email to dev@geode.apache.org requesting creation of 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}


...