tree: c7c9c3f03315bcc52184205ef20d5f1c5b934b62
  1. check_rat_report.py
  2. rat_exclude_files.txt
  3. README.md
  4. release.sh
  5. release_rc.sh
  6. run_rat.sh
  7. verify_rc.sh
dev/release/README.md

Release

Overview

1. Test the revision to be released
2. Prepare RC and vote (detailed later)
3. Publish (detailed later)

Prepare RC and vote

Run dev/release/release_rc.sh on a working copy of git@github.com:apache/iceberg-go not from your fork:

$ git clone git@github.com:apache/iceberg-go.git
$ dev/release/release_rc.sh ${VERSION} ${RC}
(Send a vote email to dev@iceberg.apache.org.
 You can use a draft shown by release_rc.sh for the email.)

Here is an example to release RC1:

$ GH_TOKEN=${YOUR_GITHUB_TOKEN} dev/release/release_rc.sh 1.0.0 1

The arguments of release_rc.sh are the version and the RC number. If RC1 has a problem, we'll increment the RC number such as RC2, RC3 and so on.

Requirements to run release_rc.sh:

* You must be an Apache Iceberg committer or PMC member
* You must prepare your PGP key for signing

If you don't have a PGP key, https://infra.apache.org/release-signing.html#generate may be helpful.

Your PGP key must be registered to the following:

* https://downloads.apache.org/iceberg/KEYS

See the header comment of them for how to add a PGP key.

Apache Iceberg committers can update them by Subversion client with their ASF account. e.g.:

$ svn co https://dist.apache.org/repos/dist/release/iceberg
$ cd iceberg
$ editor KEYS
$ svn ci KEYS

Publish

We need to do the following to publish a new release:

* Publish to apache.org

Run dev/release/release.sh to publish to apache.org:

$ GH_TOKEN=${YOUR_GITHUB_TOKEN} dev/release/release.sh ${VERSION} ${RC}

Add the release to ASF's report database via Apache Committee Report Helper

Verify

We have a script for verifying a RC.

You must install the following to run the script:

* `curl`
* `gpg`
* `shasum` or `sha512sum`
* `tar`

You don‘t need to have Go installed, if it isn’t on the system the latest Go will be automatically downloaded and used only for verification.

To verify a RC, run the following:

$ dev/release/verify_rc.sh ${VERSION} ${RC}

If the verification is successful, the message RC looks good! is shown.