Release#

This document describes how to release a new version.

Prepare#

  1. Run dev/release/prepare.sh to create a branch for a new version and prepare the branch.

  2. Update doc/source/news/${VERSION}.md.

  3. Commit changes.

  4. Push the commit.

  5. Open a pull request.

Here are command lines for them:

$ dev/release/prepare.sh ${VERSION}
$ editor doc/source/news/${VERSION}.md
$ git add doc/source/news/${VERSION}.md
$ git commit
$ git push

Create a pull request for the branch on datafusion-contrib/datafusion-c .

Tag and upload#

We can tag after we merge the prepare branch:

$ dev/release/tag.sh

Our CI jobs create .deb / .rpm packages automatically when we tag a new version. It takes about 20min. We need to wait for finishing these jobs.

We can download the built .deb / .rpm packages and upload to https://apache.jfrog.io/artifactory/arrow/ after these jobs are finished. Note that this must be done by an Apache Arrow PMC member who registers his/her GPG key to https://dist.apache.org/repos/dist/release/arrow/KEYS . Because APT/Yum repositories at https://apache.jfrog.io/artifactory/arrow/ are for Apache Arrow. We just reuse these APT/Yum repositories. So we must follow policy of https://apache.jfrog.io/artifactory/arrow/ .

$ rake -C package apt:rc yum:rc
$ dev/package/verify-packages.sh rc
$ rake -C package apt:release yum:release
$ dev/package/verify-packages.sh release