Skip to content

[Release][Dev][Packaging] Omit APT/Yum repositories check on local in the RC verification script #45548

@kou

Description

@kou

Describe the enhancement requested

dev/release/verify-release-candidate.sh verifies APT/Yum repositories in Docker containers:

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions