This is an automated email from the ASF dual-hosted git repository.
timsaucer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion-python.git
The following commit(s) were added to refs/heads/main by this push:
new 22086650 Add workflow to verify release candidate on multiple systems
(#1388)
22086650 is described below
commit 22086650c8df8b7bc382130c9560f76762dbe6c0
Author: Tim Saucer <[email protected]>
AuthorDate: Mon Feb 23 08:36:12 2026 -0500
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 <[email protected]>
---
.github/workflows/verify-release-candidate.yml | 78 ++++++++++++++++++++++++++
dev/release/README.md | 19 +++++++
2 files changed, 97 insertions(+)
diff --git a/.github/workflows/verify-release-candidate.yml
b/.github/workflows/verify-release-candidate.yml
new file mode 100644
index 00000000..a7293b36
--- /dev/null
+++ b/.github/workflows/verify-release-candidate.yml
@@ -0,0 +1,78 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+name: Verify Release Candidate
+
+# NOTE: This workflow is intended to be run manually via workflow_dispatch.
+
+on:
+ workflow_dispatch:
+ inputs:
+ version:
+ description: Version number (e.g., 52.0.0)
+ required: true
+ type: string
+ rc_number:
+ description: Release candidate number (e.g., 0)
+ required: true
+ type: string
+
+concurrency:
+ group: ${{ github.repository }}-${{ github.ref }}-${{ github.workflow }}
+ cancel-in-progress: true
+
+jobs:
+ verify:
+ name: Verify RC (${{ matrix.os }}-${{ matrix.arch }})
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ # Linux
+ - os: linux
+ arch: x64
+ runner: ubuntu-latest
+ - os: linux
+ arch: arm64
+ runner: ubuntu-24.04-arm
+
+ # macOS
+ - os: macos
+ arch: arm64
+ runner: macos-latest
+ - os: macos
+ arch: x64
+ runner: macos-15-intel
+
+ # Windows (disabled for now)
+ # - os: windows
+ # arch: x64
+ # runner: windows-latest
+ runs-on: ${{ matrix.runner }}
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v6
+
+ - name: Set up protoc
+ uses: arduino/setup-protoc@v3
+ with:
+ version: "27.4"
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Run release candidate verification
+ shell: bash
+ run: ./dev/release/verify-release-candidate.sh "${{ inputs.version }}"
"${{ inputs.rc_number }}"
diff --git a/dev/release/README.md b/dev/release/README.md
index 5d2fae5a..5b70b80f 100644
--- a/dev/release/README.md
+++ b/dev/release/README.md
@@ -154,6 +154,25 @@ This will create a file named
`dist/datafusion-0.7.0.tar.gz`. Upload this to tes
python3 -m twine upload --repository testpypi dist/datafusion-0.7.0.tar.gz
```
+### Run Verify Release Candidate Workflow
+
+Before sending the vote email, run the manually triggered GitHub Actions
workflow
+"Verify Release Candidate" and confirm all matrix jobs pass across the
OS/architecture matrix
+(for example, Linux and macOS runners):
+
+1. Go to
https://github.com/apache/datafusion-python/actions/workflows/verify-release-candidate.yml
+2. Click "Run workflow"
+3. Set `version` to the release version (for example, `52.0.0`)
+4. Set `rc_number` to the RC number (for example, `0`)
+5. Wait for all jobs to complete successfully
+
+Include a short note in the vote email template that this workflow was run
across all OS/architecture
+matrix entries and that all jobs passed.
+
+```text
+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.
+```
+
### Send the Email
Send the email to start the vote.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]