| # Automatically perform a release whenever a new "release-like" tag is pushed to the repo. |
| name: Release |
| |
| on: |
| # Can be triggered from the tag.yaml workflow |
| workflow_call: |
| inputs: |
| tag_name: |
| required: true |
| type: string |
| secrets: |
| publish_token: |
| required: true |
| # Or, developers can manually push a tag from their clone |
| push: |
| tags: |
| # Detect tags that look like a release. |
| # Note that we don't use a "v" prefix to help anchor this pattern. |
| # This is purely a matter of preference. |
| - "*.*.*" |
| permissions: |
| id-token: write |
| attestations: write |
| contents: write |
| jobs: |
| release: |
| uses: bazel-contrib/.github/.github/workflows/release_ruleset.yaml@v7.2.3 |
| with: |
| prerelease: false |
| release_files: rules_cc-*.tar.gz |
| tag_name: ${{ inputs.tag_name || github.ref_name }} |
| publish: |
| needs: release |
| uses: ./.github/workflows/publish.yaml |
| with: |
| tag_name: ${{ inputs.tag_name || github.ref_name }} |
| secrets: |
| publish_token: ${{ secrets.publish_token || secrets.BCR_PUBLISH_TOKEN }} |