Skip to content

Commit 3aedf1e

Browse files
authored
GH-47092: [Release] Fix errors in APT/Yum previous version verification (#47093)
### Rationale for this change There are some problems in APT/Yum previous version verification: * There are some typos * Can't reuse `dev/release/verify-release-candidate.sh` for the previous version verification ### What changes are included in this PR? * Fix typos * Reuse `dev/release/verify-release-candidate.sh` for the previous version verification * Ignore the previous version verification result for now * We may revisit this once we can fix the current problems. See the added comments for details. ### Are these changes tested? Yes. ### Are there any user-facing changes? No. * GitHub Issue: #47092 Authored-by: Sutou Kouhei <[email protected]> Signed-off-by: Sutou Kouhei <[email protected]>
1 parent 3575360 commit 3aedf1e

File tree

2 files changed

+56
-8
lines changed

2 files changed

+56
-8
lines changed

.github/workflows/verify_rc.yml

Lines changed: 46 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,16 +91,37 @@ jobs:
9191
VERSION: ${{ needs.target.outputs.version }}
9292
steps:
9393
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
94+
with:
95+
fetch-depth: 0
9496
- name: Run
9597
run: |
9698
dev/release/verify-release-candidate.sh ${VERSION} ${RC}
9799
- name: Verify the previous version
100+
# TODO: We may re-enable this in the future.
101+
# There are some problems for now:
102+
# * We need to specify the previous versions for all
103+
# dependencies explicitly. For example, "apt install
104+
# libarrow-glib-dev=20.0.0-1" doesn't work. We need "apt
105+
# install libarrow-glib-dev=20.0.0-1
106+
# libarrow-acero-dev=20.0.0-1 libparquet-dev=20.0.0-1
107+
# gir1.2-arrow-1.0=20.0.0-1 libparquet-dev=20.0.0-1
108+
# libarrow-dev=20.0.0-1"
109+
continue-on-error: true
98110
run: |
99111
major_version=${VERSION%%.*}
100-
previous_major_version$((major_version - 1))
112+
previous_major_version=$((major_version - 1))
101113
previous_version=${previous_major_version}.0.0
102-
rc=0 # This number isn't used for APT verification
103-
dev/release/verify-release-candidate.sh ${previous_version} ${rc}
114+
previous_tag=apache-arrow-${previous_version}
115+
git checkout ${previous_tag}
116+
# This is workaround. dev/release/verify-release-candidate.sh
117+
# in < 21.0.0 doesn't accept 20.0.0 as the VERSION argument.
118+
# We can remove this workaround after 21.0.0 release.
119+
sed \
120+
-i \
121+
-e 's/^\(ensure_source_directory\)$/# \1/' \
122+
-e 's/^\(test_source_distribution\)$/# \1/' \
123+
dev/release/verify-release-candidate.sh
124+
dev/release/verify-release-candidate.sh ${previous_version}
104125
105126
binary:
106127
name: Binary
@@ -234,13 +255,32 @@ jobs:
234255
VERSION: ${{ needs.target.outputs.version }}
235256
steps:
236257
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
258+
with:
259+
fetch-depth: 0
237260
- name: Run
238261
run: |
239262
dev/release/verify-release-candidate.sh ${VERSION} ${RC}
240263
- name: Verify the previous version
264+
# TODO: We may re-enable this in the future.
265+
# There are some problems for now:
266+
# * x86_64: libLLVM.so.18.1 needed by gandiva2000-libs on AlmaLinux 9
267+
# * arm64: libarrow.so.2000.0.0: refers the
268+
# "std::condition_variable::wait(std::unique_lock<std::mutex>&)@GLIBCXX_3.4.30"
269+
# (not "...@@GLIBCXX_3.4.30" nor "...@GLIBCXX_3.4.11") symbol on
270+
# AmazonLinux 2023.
271+
continue-on-error: true
241272
run: |
242273
major_version=${VERSION%%.*}
243-
previous_major_version$((major_version - 1))
274+
previous_major_version=$((major_version - 1))
244275
previous_version=${previous_major_version}.0.0
245-
rc=0 # This number isn't used for Yum verification
246-
dev/release/verify-release-candidate.sh ${previous_version} ${rc}
276+
previous_tag=apache-arrow-${previous_version}
277+
git checkout ${previous_tag}
278+
# This is workaround. dev/release/verify-release-candidate.sh
279+
# in < 21.0.0 doesn't accept 20.0.0 as the VERSION argument.
280+
# We can remove this workaround after 21.0.0 release.
281+
sed \
282+
-i \
283+
-e 's/^\(ensure_source_directory\)$/# \1/' \
284+
-e 's/^\(test_source_distribution\)$/# \1/' \
285+
dev/release/verify-release-candidate.sh
286+
dev/release/verify-release-candidate.sh ${previous_version}

dev/release/verify-release-candidate.sh

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -776,11 +776,19 @@ ensure_source_directory() {
776776
elif [ "${SOURCE_KIND}" = "git" ]; then
777777
# Remote arrow repository, testing repositories must be cloned
778778
: ${SOURCE_REPOSITORY:="https://github.com/apache/arrow"}
779-
echo "Verifying Arrow repository ${SOURCE_REPOSITORY} with revision checkout ${VERSION}"
779+
case "${VERSION}" in
780+
*.*.*)
781+
revision="apache-arrow-${VERSION}"
782+
;;
783+
*)
784+
revision="${VERSION}"
785+
;;
786+
esac
787+
echo "Verifying Arrow repository ${SOURCE_REPOSITORY} with revision checkout ${revision}"
780788
export ARROW_SOURCE_DIR="${ARROW_TMPDIR}/arrow"
781789
if [ ! -d "${ARROW_SOURCE_DIR}" ]; then
782790
git clone --recurse-submodules $SOURCE_REPOSITORY $ARROW_SOURCE_DIR
783-
git -C $ARROW_SOURCE_DIR checkout $VERSION
791+
git -C $ARROW_SOURCE_DIR checkout "${revision}"
784792
fi
785793
else
786794
# Release tarball, testing repositories must be cloned separately

0 commit comments

Comments
 (0)