|  | name: Publish release artifacts and docs for new tags | 
|  | on: | 
|  | push: | 
|  | tags: | 
|  | - "metropolis-v*" | 
|  | jobs: | 
|  | publish: | 
|  | runs-on: gha-trusted | 
|  | permissions: | 
|  | contents: "write" # Required for publishing release artifacts | 
|  | id-token: "write" | 
|  | steps: | 
|  | - uses: actions/checkout@v3 | 
|  | - id: auth | 
|  | name: Authenticate to GCP | 
|  | uses: google-github-actions/auth@v0.8.0 | 
|  | with: | 
|  | create_credentials_file: "true" | 
|  | workload_identity_provider: "projects/498345658902/locations/global/workloadIdentityPools/oidc-fed/providers/github-actions" | 
|  | service_account: "github-artifact-deploy@monogon-infra.iam.gserviceaccount.com" | 
|  | - name: Set up Cloud SDK | 
|  | uses: google-github-actions/setup-gcloud@v0 | 
|  | - name: Install Cloud SDK alpha commands | 
|  | run: gcloud --quiet components install alpha | 
|  | - name: Build artifacts | 
|  | run: bazel build -c opt //metropolis/node:bundle //metropolis/handbook //metropolis/cli/metroctl | 
|  | - name: Attach artifacts to Release | 
|  | uses: softprops/action-gh-release@v1 | 
|  | with: | 
|  | files: | | 
|  | bazel-bin/metropolis/node/bundle.zip | 
|  | bazel-bin/metropolis/cli/metroctl/metroctl_/metroctl | 
|  | - name: Upload to GCS | 
|  | run: |- | 
|  | gcloud alpha storage cp bazel-bin/metropolis/node/bundle.zip gs://monogon-release-artifacts/${GITHUB_REF##*/}/bundle.zip | 
|  | gcloud alpha storage cp bazel-bin/metropolis/cli/metroctl/metroctl_/metroctl gs://monogon-release-artifacts/${GITHUB_REF##*/}/metroctl | 
|  | gcloud alpha storage cp -r bazel-bin/metropolis/handbook/handbook gs://monogon-release-artifacts/${GITHUB_REF##*/}/handbook |