4141
4242jobs :
4343 target :
44+ name : Target
4445 runs-on : ubuntu-latest
45- timeout : 5
46+ timeout-minutes : 5
4647 outputs :
4748 version : ${{ steps.detect.outputs.version }}
4849 rc : ${{ steps.detect.outputs.rc }}
5455 run : |
5556 case "${GITHUB_EVENT_NAME}" in
5657 workflow_dispatch)
57- tag="${{ input .rc_tag }}"
58+ tag="${{ inputs .rc_tag }}"
5859 ;;
5960 pull_request)
60- env | sort
6161 tag="$(gh release list \
6262 --jq '.[] | select(.isPrerelease) | .tagName' \
6363 --json tagName,isPrerelease \
7575 echo "rc=${rc}" >> "${GITHUB_OUTPUT}"
7676
7777 apt :
78- needs : target
7978 name : APT
79+ needs : target
8080 runs-on : ${{ matrix.runs-on }}
8181 timeout-minutes : 30
8282 strategy :
@@ -91,19 +91,41 @@ 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
128+ needs : target
107129 runs-on : ubuntu-latest
108130 timeout-minutes : 30
109131 env :
@@ -118,6 +140,7 @@ jobs:
118140
119141 wheels-linux :
120142 name : Wheels Linux
143+ needs : target
121144 runs-on : ubuntu-latest
122145 timeout-minutes : 30
123146 strategy :
@@ -165,6 +188,7 @@ jobs:
165188
166189 wheels-macos :
167190 name : Wheels macOS
191+ needs : target
168192 runs-on : ${{ matrix.runs-on }}
169193 timeout-minutes : 30
170194 strategy :
@@ -187,6 +211,7 @@ jobs:
187211
188212 wheels-windows :
189213 name : Wheels Windows
214+ needs : target
190215 runs-on : windows-latest
191216 timeout-minutes : 45
192217 env :
@@ -215,6 +240,7 @@ jobs:
215240
216241 yum :
217242 name : Yum
243+ needs : target
218244 runs-on : ${{ matrix.runs-on }}
219245 timeout-minutes : 30
220246 strategy :
@@ -229,13 +255,32 @@ jobs:
229255 VERSION : ${{ needs.target.outputs.version }}
230256 steps :
231257 - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
258+ with :
259+ fetch-depth : 0
232260 - name : Run
233261 run : |
234262 dev/release/verify-release-candidate.sh ${VERSION} ${RC}
235263 - 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
236272 run : |
237273 major_version=${VERSION%%.*}
238- previous_major_version$((major_version - 1))
274+ previous_major_version= $((major_version - 1))
239275 previous_version=${previous_major_version}.0.0
240- rc=0 # This number isn't used for Yum verification
241- 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}
0 commit comments