...
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 language bash $ 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, checkhttps://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/)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 language bash $ 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.
Delete release branch from github repo if any
Code Block language bash $ git push origin --delete release-$VERSION-rc
Update git tag for official release
Code Block language bash $ git checkout tags/release-$VERSION-rc$RC $ git tag release-$VERSION -m "Apache Pinot $VERSION" $ git push origin release-$VERSION
Update Release note for the official release on Github https://github.com/apache/pinot/releases
No need to draft a new release, just EDIT the previously drafted release
Replace tag name to release-<version> tag
Uncheck the pre-release checkbox, then publish
- Delete all other rc drafts if there is any.
Delete all RC tags from github repo
Code Block language bash # 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
- 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
Build docker image for the release:
https://github.com/apachepinot/pinot-fork/actions
/workflows/build-multi-arch-pinot-docker-image.yml.
- Please ask Xiang Fu to grant you permission to run the job.jobs.
- 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
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.- 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
- Tag official release and push, making sure you asked Xiang Fu for the dockerhub push permission for ApachePinot org.
Code Block | ||||
---|---|---|---|---|
| ||||
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.
...