Skip to content

Release

Release #20

Workflow file for this run

# Copyright 2025 Deutsche Telekom IT GmbH
#
# SPDX-License-Identifier: Apache-2.0
name: Release
on:
workflow_dispatch:
permissions:
packages: write # to be able to publish packages
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
pull-requests: write # to be able to comment on released pull requests
id-token: write # to enable use of OIDC for npm provenance
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: 'Generate token'
id: generate_token
uses: tibdex/github-app-token@v2
with:
app_id: ${{ secrets.BOT_APP_ID }}
private_key: ${{ secrets.BOT_PRIVATE_KEY }}
- name: Checkout
uses: actions/checkout@v5.0.0
with:
fetch-depth: 0
token: ${{ steps.generate_token.outputs.token }}
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: stable
- uses: actions/cache@v4
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
- uses: sigstore/cosign-installer@v3.9.2
- uses: anchore/sbom-action/download-syft@v0.20.5
- name: Install GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
install-only: true
- name: Run Semantic Release
id: semantic_release
uses: cycjimmy/semantic-release-action@v5
with:
extra_plugins: |
@semantic-release/changelog
@semantic-release/exec
@semantic-release/git
env:
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
- name: Run GoReleaser
if: steps.semantic_release.outputs.new_release_published == 'true'
uses: goreleaser/goreleaser-action@v6
with:
args: release --release-notes /tmp/release-notes.md --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}