Versions Compared

Key

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

...

Tag the pinot docs for the given version

Warning
titleDeprecated

This step is deprecated. Instead, you can raise a PR for pinot-docs and get it merged, after the "Finalize the release" steps are done. No need to request access for or use Gitbook UI.

Please ask permission for gitbook Apache Pinot organization access in #pinot-committers slack channel.

...

  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:

    1. Please ask Xiang Fu to grant you permission to run the jobs on this repo: https://github.com/apachepinot/pinot-fork/actions.
    2. There are total 5 jobs related to different JDKs(Amazon Corretto 11/17, Microsoft OpenJDK 11/17 and OpenJDK 21)  to run:
      1. https://github.com/apachepinot/pinot-fork/actions/workflows/build-multi-arch-amazoncorretto-11-pinot-docker-image.yml
    .
  9. Please ask Xiang Fu to grant you permission to run the job.
  10. Build images with release tag, and tag it with both tags: release-<version>  and <version> , e.g. release-0.13.0  and 0.13.0 . See below graph for the input reference.

    Image Removed
      1. https://github.com/apachepinot/pinot-fork/actions/workflows/build-multi-arch-amazoncorretto-17-pinot-docker-image.yml
      2. https://github.com/apachepinot/pinot-fork/actions/workflows/build-multi-arch-ms-openjdk-11-pinot-docker-image.yml
      3. https://github.com/apachepinot/pinot-fork/actions/workflows/build-multi-arch-ms-openjdk-17-pinot-docker-image.yml
      4. https://github.com/apachepinot/pinot-fork/actions/workflows/build-multi-arch-java21-pinot-docker-image.yml 
    1. Build images with release tag, and tag it with both tags: release-<version>  and <version> , e.g. release-1.2.0  and 1.2.0 . See below graph for the input reference.Image Added

    2. 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
    3. 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. 

  1. Update https://pinot.apache.org/download page. Example pr: https://github.com/apache/pinot-site/pull/66131
  2. Apache takes time to archive all the distributions in SVN release repo, so we don't need to keep all the distributions in SVN release repo. For download URL, we use https://downloads.apache.org for the most recent dist and https://archive.apache.org/dist for old dists.
    1. SVN release repo distribution can be downloaded from: https://downloads.apache.org e.g. https://downloads.apache.org/pinot/apache-pinot-0.9.1/apache-pinot-0.9.1-bin.tar.gz
    2. Old distributions are available through the archive urls, please make sure you update download links for old dist from https://downloads.apache.org to https://archive.apache.org/dist. E.g. https://archive.apache.org/dist/pinot/apache-pinot-0.9.0/apache-pinot-0.9.0-bin.tar.gz Sample PR: https://github.com/apache/pinot-site/pull/61
  3. Update Pinot github repo DOAP file to reflect the latest release on https://projects.apache.org/project.html?pinot, sample PR: https://github.com/apache/pinot/pull/11827
  4. Update Pinot docs: https://docs.pinot.apache.org/basics/releases
    1. Guidance on updating the page: https://docs.pinot.apache.org/developers/developers-and-contributors/update-document.Publish versioned docs:
    2. Go to gitbook, select the space previously created, on the right upper corner, click Publish  button and select In Collection.Image Removed
    3. Check the docs are available at https://docs.pinot.apache.org/. You should be able to find it in the right upper side bar:Image Removed
    4. Raise a PR similar to (you can raise a single PR): pinot-docs/commit/d1849be pinot-docs/commit/0f035df against the pinot-docs repo. Use the release notes you had used and prepared before.
  5. Send the mail to dev@pinot.apache.org about the release announcement
    dev@pinot https://lists.apache.org/thread/qw3chy5rvclymzwk0ros98nlk7mxwhos
  6. Send the mail to announce@apache.org  about the release announcement.  Remember to use plain text mode:     


...