Add support to publish Snaps using goreleaser (#353)

Closes #351.
This commit is contained in:
Marcos Alano 2023-12-25 05:28:51 -03:00 committed by GitHub
parent 11c19c0fb7
commit 8fb8c9f2f2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 1 deletions

View File

@ -50,7 +50,7 @@ jobs:
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: release --snapshot --skip-publish --rm-dist
args: release --snapshot --skip publish,snapcraft --clean
- name: Setup BATS framework
run: sudo npm install -g bats
- name: kubectx (Go) integration tests

View File

@ -27,6 +27,13 @@ jobs:
uses: actions/setup-go@v2
with:
go-version: '1.20'
- 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@v2
with:
@ -42,3 +49,7 @@ jobs:
uses: rajatjindal/krew-release-bot@v0.0.38
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 }}

View File

@ -98,3 +98,20 @@ release:
extra_files:
- glob: ./kubens
- glob: ./kubectx
snapcrafts:
- id: kubectx
name: kubectx
summary: 'kubectx + kubens: Power tools for kubectl'
description: |
kubectx is a tool to switch between contexts (clusters) on kubectl faster.
kubens is a tool to switch between Kubernetes namespaces (and configure them for kubectl) easily.
grade: stable
confinement: classic
base: core20
apps:
kubectx:
command: kubectx
completer: completion/kubectx.bash
kubens:
command: kubens
completer: completion/kubens.bash