| # 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., 1) | |
| 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 | |
| - os: windows | |
| arch: x64 | |
| runner: windows-latest | |
| runs-on: ${{ matrix.runner }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7 | |
| - name: Set up protoc | |
| uses: arduino/setup-protoc@v3 | |
| with: | |
| version: "27.4" | |
| repo-token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Set RUSTFLAGS for Windows GNU linker | |
| if: matrix.os == 'windows' | |
| shell: bash | |
| run: echo "RUSTFLAGS=-C link-arg=-Wl,--exclude-libs=ALL" >> "$GITHUB_ENV" | |
| - name: Run release candidate verification | |
| shell: bash | |
| run: ./dev/release/verify-release-candidate.sh "${{ inputs.version }}" "${{ inputs.rc_number }}" |