|  | # 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.2 | 
|  | 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 }} |