ci: bump actions/{checkout,upload-artifact,download-artifact} v4 -> v5 #61
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Python Packages | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| inputs: | |
| release_date: | |
| description: > | |
| Release tag (YYYYMMDD). When set, a single GitHub release with that | |
| tag is created and all per-platform tarballs from every matrix entry | |
| are published as assets. Leave empty for a build-only run that uploads | |
| per-job artifacts but does not publish a release. | |
| required: false | |
| type: string | |
| default: "" | |
| # Cancel in-flight runs when a newer event arrives for the same logical branch. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.ref_name }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-matrix: | |
| name: Build Python ${{ matrix.python_version }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python_version: | |
| - 3.12.13 | |
| - 3.13.14 | |
| - 3.14.6 | |
| uses: ./.github/workflows/build-python-version.yml | |
| with: | |
| python_version: ${{ matrix.python_version }} | |
| secrets: inherit | |
| publish-release: | |
| name: Publish Release Assets | |
| runs-on: ubuntu-latest | |
| # Date-keyed releases (PBS-style): only publish when an operator explicitly | |
| # triggers via workflow_dispatch with a `release_date` input. Pushes still | |
| # exercise the matrix but leave per-job artifacts for inspection and do | |
| # not touch GitHub releases. | |
| if: github.event_name == 'workflow_dispatch' && inputs.release_date != '' | |
| needs: | |
| - build-matrix | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Download all build artifacts | |
| uses: actions/download-artifact@v5 | |
| with: | |
| pattern: python-* | |
| path: release-artifacts | |
| merge-multiple: true | |
| - name: Publish all artifacts to release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| tag_name: ${{ inputs.release_date }} | |
| name: ${{ inputs.release_date }} | |
| files: release-artifacts/* | |
| fail_on_unmatched_files: true | |
| generate_release_notes: false | |
| draft: false | |
| prerelease: false |