-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Closed
Milestone
Description
Describe the enhancement requested
dev/release/verify-release-candidate.sh verifies APT/Yum repositories in Docker containers:
arrow/dev/release/verify-release-candidate.sh
Lines 183 to 272 in c0e275e
| test_apt() { | |
| show_header "Testing APT packages" | |
| if [ "$(arch)" = "x86_64" ]; then | |
| for target in "debian:bookworm" \ | |
| "debian:trixie" \ | |
| "ubuntu:jammy" \ | |
| "ubuntu:noble"; do \ | |
| if ! docker run \ | |
| --platform=linux/x86_64 \ | |
| --rm \ | |
| --security-opt="seccomp=unconfined" \ | |
| --volume "${ARROW_DIR}":/arrow:delegated \ | |
| "${target}" \ | |
| /arrow/dev/release/verify-apt.sh \ | |
| "${VERSION}" \ | |
| "rc"; then | |
| echo "Failed to verify the APT repository for ${target} on x86_64" | |
| exit 1 | |
| fi | |
| done | |
| fi | |
| if [ "$(arch)" = "aarch64" -o -e /usr/bin/qemu-aarch64-static ]; then | |
| for target in "arm64v8/debian:bookworm" \ | |
| "arm64v8/debian:trixie" \ | |
| "arm64v8/ubuntu:jammy" \ | |
| "arm64v8/ubuntu:noble"; do \ | |
| if ! docker run \ | |
| --platform=linux/arm64 \ | |
| --rm \ | |
| --security-opt="seccomp=unconfined" \ | |
| --volume "${ARROW_DIR}":/arrow:delegated \ | |
| "${target}" \ | |
| /arrow/dev/release/verify-apt.sh \ | |
| "${VERSION}" \ | |
| "rc"; then | |
| echo "Failed to verify the APT repository for ${target} on arm64" | |
| exit 1 | |
| fi | |
| done | |
| fi | |
| } | |
| test_yum() { | |
| show_header "Testing Yum packages" | |
| if [ "$(arch)" = "x86_64" ]; then | |
| for target in "almalinux:9" \ | |
| "almalinux:8" \ | |
| "amazonlinux:2023" \ | |
| "quay.io/centos/centos:stream9" \ | |
| "quay.io/centos/centos:stream8" \ | |
| "centos:7"; do | |
| if ! docker run \ | |
| --platform linux/x86_64 \ | |
| --rm \ | |
| --security-opt="seccomp=unconfined" \ | |
| --volume "${ARROW_DIR}":/arrow:delegated \ | |
| "${target}" \ | |
| /arrow/dev/release/verify-yum.sh \ | |
| "${VERSION}" \ | |
| "rc"; then | |
| echo "Failed to verify the Yum repository for ${target} on x86_64" | |
| exit 1 | |
| fi | |
| done | |
| fi | |
| if [ "$(arch)" = "aarch64" -o -e /usr/bin/qemu-aarch64-static ]; then | |
| for target in "arm64v8/almalinux:9" \ | |
| "arm64v8/almalinux:8" \ | |
| "arm64v8/amazonlinux:2023" \ | |
| "quay.io/centos/centos:stream9" \ | |
| "quay.io/centos/centos:stream8"; do | |
| if ! docker run \ | |
| --platform linux/arm64 \ | |
| --rm \ | |
| --security-opt="seccomp=unconfined" \ | |
| --volume "${ARROW_DIR}":/arrow:delegated \ | |
| "${target}" \ | |
| /arrow/dev/release/verify-yum.sh \ | |
| "${VERSION}" \ | |
| "rc"; then | |
| echo "Failed to verify the Yum repository for ${target} on arm64" | |
| exit 1 | |
| fi | |
| done | |
| fi | |
| } |
So we don't need to verify them on both of CI and local. For example, we can verify them on CI and check CI results on local.
FYI: apache/arrow-flight-sql-postgresql uses this approach: https://github.com/apache/arrow-flight-sql-postgresql/blob/9366707ce41303233f99f81d681f88695ddb5ab8/dev/release/verify-rc.sh#L246-L293
Component(s)
Developer Tools, Packaging, Release