...
Before your first release, you should perform one-time configuration steps. This will set up your security keys for signing the release and access to various release repositories.
To prepare for each release, you should audit the project status in the JIRA issue tracker, and do necessary bookkeeping. Finally, you should create a release branch from which individual release candidates will be built.
One-time setup instructions
...
First, we build the source release:
Non-MAC users:
Code Block | ||
---|---|---|
| ||
$ RELEASE_VERSION=$RELEASE_VERSION tools/releasing/create_source_release.sh |
Finally, we stage the maven artifacts:
MAC users:
First, check your tar version by tar --version
. If the output is bsdtar
, it will create some extra information which cannot be recognized by gnutar
. You can download gnutar
to replace system built-in bsdtar
, or you can just use argument --no-xattrs
, which is more convenient.
Code Block |
---|
-- find this line in tools/releasing/create_source_release.sh
tar czf ${RELEASE_DIR}/apache-paimon-${RELEASE_VERSION}-src.tgz paimon-${RELEASE_VERSION}
-- add --no-xattrs
tar czf ${RELEASE_DIR}/apache-paimon-${RELEASE_VERSION}-src.tgz --no-xattrs paimon-${RELEASE_VERSION} |
Second, use COPYFILE_DISABLE=1
to avoid generate hidden files:
Code Block |
---|
COPYFILE_DISABLE=1 RELEASE_VERSION=$RELEASE_VERSION tools/releasing/create_source_release.sh |
Finally, we stage the maven artifacts:
Code Block | ||
---|---|---|
| ||
Code Block | ||
| ||
$ tools/releasing/deploy_staging_jars.sh |
...
If you have not already, check out the Paimon section of the
dev
repository ondist.apache.org
via Subversion. In a fresh directory:Code Block language bash svn checkout hhttpshttps://dist.apache.org/repos/dist/dev/incubator/paimon/ --depth=immediates
Make a directory for the new release:
Code Block language bash mkdir paimon/paimon-${RELEASE_VERSION}-rc${RC_NUM}
Copy source distributions, hashes, and GPG signature:
Code Block mv <paimon-dir>/release/* paimon/paimon-${RELEASE_VERSION}-rc${RC_NUM}
Add and commit all the files.
Code Block language bash cd paimon svn add paimon-${RELEASE_VERSION}-rc${RC_NUM} svn commit -m "Apache Paimon, version ${RELEASE_VERSION}, release candidate ${RC_NUM}"
Verify that files are present
...
git tag -s "release-${RELEASE_VERSION}" ${TAG}
Mark the version as released in JIRA
...
_VERSION}" ${TAG}
Update website to point to new stable release documentation (for major releases only)
In our website repository repository paimon-website
, for major releases we need to update the website to point to the new stable release.
...
- Maven artifacts released and indexed in the Maven Central Repository (usually takes about a day to show up)
- Source & binary distributions available in the release repository of https://dist.apache.org/repos/dist/release/incubator/paimon/
- Dev repository https://dist.apache.org/repos/dist/dev/incubator/paimon/ is empty
- Release tagged in the source code repository
- Release version finalized in JIRA. (Note: Not all committers have administrator access to JIRA. If you end up getting permissions errors ask on the mailing list for assistance)
- Website contains links to new release binaries and sources in download page
- For major releases, the front page references the correct new major release version and directs to the correct link
...
Merge the website pull request to list the release. Make sure to regenerate the website as well, as it isn't build automatically.
Apache mailing lists
Announce on the dev@ mailing list that the release has been finished.
...