Skip to content

Commit 2208665

Browse files
Add workflow to verify release candidate on multiple systems (#1388)
* add workflow * add protoc * update coverage * upgrade * newline * add a note about manual trigger * add a section to release about manually running the matrix * more details --------- Co-authored-by: Kevin Liu <kevin.jq.liu@gmail.com>
1 parent 44a3eb3 commit 2208665

File tree

2 files changed

+97
-0
lines changed

2 files changed

+97
-0
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
name: Verify Release Candidate
19+
20+
# NOTE: This workflow is intended to be run manually via workflow_dispatch.
21+
22+
on:
23+
workflow_dispatch:
24+
inputs:
25+
version:
26+
description: Version number (e.g., 52.0.0)
27+
required: true
28+
type: string
29+
rc_number:
30+
description: Release candidate number (e.g., 0)
31+
required: true
32+
type: string
33+
34+
concurrency:
35+
group: ${{ github.repository }}-${{ github.ref }}-${{ github.workflow }}
36+
cancel-in-progress: true
37+
38+
jobs:
39+
verify:
40+
name: Verify RC (${{ matrix.os }}-${{ matrix.arch }})
41+
strategy:
42+
fail-fast: false
43+
matrix:
44+
include:
45+
# Linux
46+
- os: linux
47+
arch: x64
48+
runner: ubuntu-latest
49+
- os: linux
50+
arch: arm64
51+
runner: ubuntu-24.04-arm
52+
53+
# macOS
54+
- os: macos
55+
arch: arm64
56+
runner: macos-latest
57+
- os: macos
58+
arch: x64
59+
runner: macos-15-intel
60+
61+
# Windows (disabled for now)
62+
# - os: windows
63+
# arch: x64
64+
# runner: windows-latest
65+
runs-on: ${{ matrix.runner }}
66+
steps:
67+
- name: Checkout repository
68+
uses: actions/checkout@v6
69+
70+
- name: Set up protoc
71+
uses: arduino/setup-protoc@v3
72+
with:
73+
version: "27.4"
74+
repo-token: ${{ secrets.GITHUB_TOKEN }}
75+
76+
- name: Run release candidate verification
77+
shell: bash
78+
run: ./dev/release/verify-release-candidate.sh "${{ inputs.version }}" "${{ inputs.rc_number }}"

dev/release/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,25 @@ This will create a file named `dist/datafusion-0.7.0.tar.gz`. Upload this to tes
154154
python3 -m twine upload --repository testpypi dist/datafusion-0.7.0.tar.gz
155155
```
156156

157+
### Run Verify Release Candidate Workflow
158+
159+
Before sending the vote email, run the manually triggered GitHub Actions workflow
160+
"Verify Release Candidate" and confirm all matrix jobs pass across the OS/architecture matrix
161+
(for example, Linux and macOS runners):
162+
163+
1. Go to https://github.com/apache/datafusion-python/actions/workflows/verify-release-candidate.yml
164+
2. Click "Run workflow"
165+
3. Set `version` to the release version (for example, `52.0.0`)
166+
4. Set `rc_number` to the RC number (for example, `0`)
167+
5. Wait for all jobs to complete successfully
168+
169+
Include a short note in the vote email template that this workflow was run across all OS/architecture
170+
matrix entries and that all jobs passed.
171+
172+
```text
173+
Verification note: The manually triggered "Verify Release Candidate" workflow was run for version <VERSION> and rc_number <RC_NUMBER> across all configured OS/architecture matrix entries, and all matrix jobs completed successfully.
174+
```
175+
157176
### Send the Email
158177

159178
Send the email to start the vote.

0 commit comments

Comments
 (0)