This is an automated email from the ASF dual-hosted git repository.

zeroshade pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/terraform-provider-iceberg.git


The following commit(s) were added to refs/heads/main by this push:
     new 1e2d2d9  Check binary licenses in dev/verify_rc.sh (#155)
1e2d2d9 is described below

commit 1e2d2d989ed5c87ea644ebc0a67796d6d636c8b0
Author: Alex Stephen <[email protected]>
AuthorDate: Tue Oct 27 11:40:28 2026 -0700

    Check binary licenses in dev/verify_rc.sh (#155)
    
    dev: check the binary license inventory in verify_rc.sh
    
    Run dev/update_licenses.sh --check against the extracted source release so
    voters verifying an RC also confirm that LICENSE-binary and licenses-binary/
    match the dependencies actually linked into the convenience binaries. The 
step
    runs after the RAT check (whose excludes already cover build/, where the 
pinned
    go-licenses is installed) and can be skipped with VERIFY_LICENSES=0, like 
the
    other optional steps.
    
    Document the new step and opt-out in docs/releasing.md.
---
 dev/release/verify_rc.sh | 17 +++++++++++++++--
 docs/releasing.md        | 10 +++++++---
 2 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/dev/release/verify_rc.sh b/dev/release/verify_rc.sh
index 266d84e..3064e84 100755
--- a/dev/release/verify_rc.sh
+++ b/dev/release/verify_rc.sh
@@ -20,13 +20,15 @@
 # Verifies a release candidate of the Apache Iceberg Terraform provider so you
 # can cast an informed vote. It downloads the source release from the Apache 
dev
 # SVN and checks its GPG signature and checksum, runs the Apache RAT license
-# check, then builds and tests the provider from source in a throwaway sandbox.
+# check, checks that LICENSE-binary and licenses-binary/ match the dependencies
+# linked into the binaries, then builds and tests the provider from source in a
+# throwaway sandbox.
 #
 # Usage: dev/release/verify_rc.sh <version> <rc>
 #  e.g.: dev/release/verify_rc.sh 0.7.0 1
 #
 # A valid signature from a key in the KEYS file, a matching checksum, a clean 
RAT
-# check, and a clean build/test is a +1.
+# check, a clean binary license check, and a clean build/test is a +1.
 
 set -eu
 
@@ -59,6 +61,7 @@ BINARY_BASE_NAME="terraform-provider-iceberg_${VERSION}"
 : "${VERIFY_FORCE_USE_GO_BINARY:=0}"
 : "${VERIFY_SIGN:=${VERIFY_DEFAULT}}"
 : "${VERIFY_RAT:=${VERIFY_DEFAULT}}"
+: "${VERIFY_LICENSES:=${VERIFY_DEFAULT}}"
 : "${VERIFY_BINARY:=${VERIFY_DEFAULT}}"
 
 VERIFY_SUCCESS=no
@@ -234,6 +237,15 @@ run_rat_check() {
   fi
 }
 
+run_binary_license_check() {
+  if [ "${VERIFY_LICENSES}" -gt 0 ]; then
+    # dev/update_licenses.sh installs its pinned go-licenses under build/ and
+    # fails if LICENSE-binary or licenses-binary/ have drifted from the modules
+    # the binaries link. Its list of modules shipping a NOTICE is advisory.
+    ./dev/update_licenses.sh --check
+  fi
+}
+
 build_and_test_source_distribution() {
   go build ./...
   go test ./...
@@ -250,6 +262,7 @@ ensure_source_directory
 ensure_go
 pushd "${ARCHIVE_BASE_NAME}"
 run_rat_check
+run_binary_license_check
 build_and_test_source_distribution
 popd
 
diff --git a/docs/releasing.md b/docs/releasing.md
index a2e8188..c0b74f7 100644
--- a/docs/releasing.md
+++ b/docs/releasing.md
@@ -297,19 +297,23 @@ Reviewers validate a candidate with:
 The script imports the Apache Iceberg `KEYS`, downloads the source release from
 the dev SVN, verifies its GPG signature and SHA-512 checksum, runs the Apache
 RAT license check, verifies the convenience binaries against their signed
-`SHA256SUMS`, and builds and tests the provider from source in a throwaway
-sandbox.
+`SHA256SUMS`, checks that `LICENSE-binary` and `licenses-binary/` match the
+dependencies linked into the binaries, and builds and tests the provider from
+source in a throwaway sandbox.
 
 It expects `git`, `gpg`, `curl`, and `shasum`/`sha512sum` on your `PATH`.
 
 The RAT License check needs `java` and `unzip`, but can be skipped with 
`VERIFY_RAT=0`.
 Binary verification needs [`gh`](https://cli.github.com/) and can be skipped 
with `VERIFY_BINARY=0`.
+The binary license check (`dev/update_licenses.sh --check`) downloads a pinned
+`go-licenses`, and can be skipped with `VERIFY_LICENSES=0`.
 
 The binaries are named with the final version, but `go version -m` reports the 
RC
 tag they were built from. That is expected, and stays true of the final 
release.
 
 A valid signature from a key in the `KEYS` file, a matching checksum, a clean 
RAT
-check, verified binaries, and a clean build and test is a `+1`.
+check, verified binaries, a clean binary license check, and a clean build and
+test is a `+1`.
 
 ## Misc
 

Reply via email to