# Copyright 2023 LiveKit, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. name: Release on: workflow_dispatch: push: # only publish on version tags tags: - 'v*.*.*' permissions: contents: write jobs: release: runs-on: ubuntu-latest steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7 - name: Fetch all tags run: git fetch --force --tags # Release with the same Go toolchain the published image is built with - name: Resolve Go version id: go-version run: | # Assign first so a failed lookup trips `set -e`; inside echo its exit # status would be discarded and an empty version written. version=$(.github/scripts/go-version.sh Dockerfile) echo "version=$version" >> "$GITHUB_OUTPUT" - name: Set up Go uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7 with: go-version: ${{ steps.go-version.outputs.version }} - name: Run GoReleaser uses: goreleaser/goreleaser-action@ec59f474b9834571250b370d4735c50f8e2d1e29 # v7 with: distribution: goreleaser version: '~> v2' args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}