Versions Compared

Key

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

...

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
languagebash
$ 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
languagebash
Code Block
languagebash
$ tools/releasing/deploy_staging_jars.sh

...

  1. If you have not already, check out the Paimon section of the dev repository on dist.apache.org via Subversion. In a fresh directory:

    Code Block
    languagebash
    svn checkout hhttpshttps://dist.apache.org/repos/dist/dev/incubator/paimon/ --depth=immediates


  2. Make a directory for the new release:

    Code Block
    languagebash
    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}


  3. Add and commit all the files.

    Code Block
    languagebash
    cd paimon 
    svn add paimon-${RELEASE_VERSION}-rc${RC_NUM}
    svn commit -m "Apache Paimon, version ${RELEASE_VERSION}, release candidate ${RC_NUM}"


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

...