diff --git a/.rat-excludes.txt b/.rat-excludes.txt new file mode 100644 index 0000000000..b167e05022 --- /dev/null +++ b/.rat-excludes.txt @@ -0,0 +1,15 @@ +.gitignore +.rat-excludes.txt +PULL_REQUEST_TEMPLATE.md +strings-2.parquet$ +nested_array.avsc$ +map_with_nulls.avsc$ +map.avsc$ +list_with_nulls.avsc$ +fixedToInt96.avsc$ +array.avsc$ +allFromParquetOldBehavior.avsc$ +allFromParquetNewBehavior.avsc$ +all.avsc$ +stringBehavior.avsc$ +logicalType.avsc$ diff --git a/dev/README.md b/dev/README.md index 68fe99c56a..b9e37f0bfe 100644 --- a/dev/README.md +++ b/dev/README.md @@ -91,3 +91,61 @@ Merge hash: 485658a5 Would you like to pick 485658a5 into another branch? (y/n): ``` For now just say n as we have 1 branch + +# Release Verification + +The Apache Arrow Release Approval process follows the guidelines defined at the +`Apache Software Foundation Release Approval `_. + +For a release vote to pass, a minimum of three positive binding votes and more +positive binding votes than negative binding votes MUST be cast. +Releases may not be vetoed. Votes cast by PMC members are binding, however, +non-binding votes are greatly encouraged and a sign of a healthy project. + +In order to cast a vote individuals are expected to follow the following steps. + +## Download source package, signature file, hash file and KEYS + +The Release candidate will be present at `https://dist.apache.org/repos/dist/dev/parquet/`. +The RC folder will depend on the version and the release candidate id. See the following example files for +Apache Parquet 1.15.0 RC 1: +``` +wget https://dist.apache.org/repos/dist/dev/parquet/apache-parquet-1.15.0-rc1/apache-parquet-1.15.0.tar.gz +wget https://dist.apache.org/repos/dist/dev/parquet/apache-parquet-1.15.0-rc1/apache-parquet-1.15.0.tar.gz.asc +wget https://dist.apache.org/repos/dist/dev/parquet/apache-parquet-1.15.0-rc1/apache-parquet-1.15.0.tar.gz.sha512 +wget https://dist.apache.org/repos/dist/release/parquet/KEYS +``` + +## Verify signature and hash + +GnuPG is recommended, which can be install by: +- `yum install gnupg`, `apt-get install gnupg` on Linux based environments. +- `brew install gnupg` on macOS environments. + + +``` +gpg --import KEYS +gpg --verify apache-parquet-1.15.0.tar.gz.asc apache-parquet-1.15.0.tar.gz +sha512sum --check apache-parquet-1.15.0.tar.gz.sha512 +``` + +## Verify license header + +Apache RAT is recommended to verify the license header, which can be dowload with the following command. + +``` +wget https://archive.apache.org/dist/creadur/apache-rat-0.16.1/apache-rat-0.16.1-bin.tar.gz +tar zxvf apache-rat-0.16.1-bin.tar.gz +``` + +You can check with the following command. +It will output a file list which doesn't include ASF license headers. +Please substitute `$PARQUET_SRC_FOLDER` with your `parquet-java` source folder from the following command. + +``` +java -jar apache-rat-0.16.1/apache-rat-0.16.1.jar -a -d apache-parquet-1.15.0.tar.gz -E $PARQUET_SRC_FOLDER/.rat-excludes.txt +``` + +## Verify building and tests + +Check the [building section](../README.md#building) diff --git a/pom.xml b/pom.xml index 2d0217719a..3f7184abc8 100644 --- a/pom.xml +++ b/pom.xml @@ -498,6 +498,7 @@ true .github/PULL_REQUEST_TEMPLATE.md + .rat-excludes.txt **/*.parquet **/*.avro **/*.json