Versions Compared

Key

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

...

  1. Move staging tarballs to the svn directory for official release. You need to be a PMC member to be able to do this step. If you are a committer, ask a PMC member to do this step for you.

    Code Block
    languagebash
    $ svn mv https://dist.apache.org/repos/dist/dev/pinot/apache-pinot-$VERSION-rc$RC https://dist.apache.org/repos/dist/release/pinot/apache-pinot-$VERSION
    # NOTE: You will need your apache login and password for this step.

    Check https://downloads.apache.org/pinot
    After several hours later, check https://archive.apache.org/dist/pinot/apache-pinot-<version>/  to see if it shows up.
    (e.g. https://archive.apache.org/dist/pinot/apache-pinot-0.8.0/)

  2. Delete previous release tarballs. Similar to step 1, you need to be PMC member to be able to perform this step.

    We only need to keep the most recent release, so feel free to delete any previous released distributions.

    Code Block
    languagebash
    $ svn rm https://dist.apache.org/repos/dist/release/pinot/apache-pinot-0.8.0
    # NOTE: You will need your apache login and password for this step.


  3. Delete release branch from github repo if any

    Code Block
    languagebash
    $ git push origin --delete release-$VERSION-rc


  4. Update git tag for official release

    Code Block
    languagebash
    $ git checkout tags/release-$VERSION-rc$RC
    $ git tag release-$VERSION -m "Apache Pinot $VERSION"
    $ git push origin release-$VERSION


  5. Update Release note for the official release on Github https://github.com/apache/pinot/releases

    1. No need to draft a new release, just EDIT the previously drafted release

    2. Replace tag name to release-<version> tag

    3. Uncheck the pre-release checkbox, then publish

    4. Delete all other rc drafts if there is any.
  6. Delete all RC tags from github repo

    Code Block
    languagebash
    # Clean up the rc tag to not to show on the Github release page
    $ git tag -d release-$VERSION-rc$RC
    $ git push origin :refs/tags/release-$VERSION-rc$RC


  7. Publish the maven artifacts. Log in to Nexus, select the staging repository (orgapachepinot-<number>) and click Release button. Several hours later, the new version should show up at https://repo.maven.apache.org/maven2/org/apache/pinot
  8. Build docker image for the release:

    https://github.com/apachepinot/pinot-fork/actions

    /workflows/build-multi-arch-pinot-docker-image.yml

    .

    1. Please ask Xiang Fu to grant you permission to run the job.jobs.
    2. There are total 5 jobs related to different JDKs(Amazon Corretto 11/17, Microsoft OpenJDK 11/17 and OpenJDK 21)  to run, all start with Pinot Release xxxx 
    3. Build images with release tag, and tag it with both tags: release-<version>  and <version> , e.g. release-01.132.0  and 01.132.0 . See below graph for the input reference.

    4. After all the tasks are done, you should find all the docker images here: https://hub.docker.com/r/apachepinot/pinot/tags?page=&page_size=&ordering=&name=release-1.2.0
    5. Tag official release and push, making sure you asked Xiang Fu for the dockerhub push permission for ApachePinot org.
Code Block
languagebash
titledocker tag release manifest
docker manifest create apachepinot/pinot:1.2.0 --amend apachepinot/pinot:release-1.2.0-17-amazoncorretto-linux-arm64 --amend apachepinot/pinot:release-1.2.0-17-amazoncorretto-linux-amd64
docker manifest create apachepinot/pinot:release-1.2.0 --amend apachepinot/pinot:release-1.2.0-17-amazoncorretto-linux-arm64 --amend apachepinot/pinot:release-1.2.0-17-amazoncorretto-linux-amd64

docker manifest push apachepinot/pinot:1.2.0
docker manifest push apachepinot/pinot:release-1.2.0



Announce to the world

Once you finalized the release, you now need to announce this to the world. 

...