Skip to content

Latest commit

 

History

History
 
 

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-cpp not from your fork:

$ git clone git@github.com:apache/iceberg-cpp.git && cd iceberg-cpp $ 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 RC0 of version 0.1.0:

$ GH_TOKEN=${YOUR_GITHUB_TOKEN} dev/release/release_rc.sh 0.1.0 0

The arguments of release_rc.sh are the version and the RC number. If RC0 has a problem, we'll increment the RC number such as RC1, RC2 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 published in the KEYS file, which is hosted at:

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

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

If you are a first-time release manager, you need to add your public key to this file. To prevent formatting errors, please use the following commands instead of editing the file manually:

  • Check out the release distribution directory:
$ svn co https://dist.apache.org/repos/dist/release/iceberg $ cd iceberg
  • Append your GPG public key to the KEYS file. Replace <YOUR_KEY_ID> with your actual GPG key ID.
$ echo "" >> KEYS # append a newline $ gpg --list-sigs <YOUR_KEY_ID> >> KEYS # append signatures $ gpg --armor --export <YOUR_KEY_ID> >> KEYS # append public key block $ svn commit -m "Add GPG key for <YOUR_NAME>"

Publish

We need to publish to apache.org to publish a new release.

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` * `cmake` (3.25 or higher) * C++23 compliant compiler (GCC 14+, Clang 16+, MSVC 2022+) 

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.