# Copyright 2021 Google LLC # # 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: push: tags: - 'v*.*.*' jobs: goreleaser: permissions: contents: write runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@master - run: git fetch --tags - name: Setup Go uses: actions/setup-go@v6 with: go-version: '1.22' - name: Install Snapcraft uses: samuelmeuli/action-snapcraft@v1 - name: Setup Snapcraft run: | # https://github.com/goreleaser/goreleaser/issues/1715 mkdir -p $HOME/.cache/snapcraft/download mkdir -p $HOME/.cache/snapcraft/stage-packages - name: GoReleaser uses: goreleaser/goreleaser-action@v7 with: version: latest args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Update new version for plugin 'ctx' in krew-index uses: rajatjindal/krew-release-bot@v0.0.51 with: krew_template_file: .krew/ctx.yaml - name: Update new version for plugin 'ns' in krew-index uses: rajatjindal/krew-release-bot@v0.0.51 with: krew_template_file: .krew/ns.yaml - name: Publish Snaps to the Snap Store (stable channel) run: for snap in $(ls dist/*.snap); do snapcraft upload --release=stable $snap; done env: SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }}