From c99f0e3520a53f2e4e08e1bd9b717213ece1d2ba Mon Sep 17 00:00:00 2001 From: Ruben Hoenle Date: Mon, 3 Aug 2026 12:54:13 +0200 Subject: [PATCH] feat(goreleaser): enable shell completions for APT --- .gitignore | 3 +++ .goreleaser.yaml | 28 ++++++++++++++++++++++------ 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 2cf34eb63..18f6200bc 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,6 @@ go.work.sum # Test coverage reports coverage.out coverage.html + +# Shell completions +completions/ diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 81197920f..22155c8a7 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -3,6 +3,11 @@ version: 2 before: hooks: - go mod tidy + # Shell completion files + - mkdir -p ./completions + - sh -c 'go run ./main.go completion zsh > ./completions/stackit.zsh' + - sh -c 'go run ./main.go completion bash > ./completions/stackit.bash' + - sh -c 'go run ./main.go completion fish > ./completions/stackit.fish' builds: - id: linux-builds @@ -47,11 +52,6 @@ builds: output: true - cmd: spctl -a -t open --context context:primary-signature -v dist/{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}.dmg output: true - # Completion files - - cmd: mkdir -p dist/completions - - cmd: sh -c 'go run main.go completion zsh > ./dist/completions/stackit.zsh' - - cmd: sh -c 'go run main.go completion bash > ./dist/completions/stackit.bash' - - cmd: sh -c 'go run main.go completion fish > ./dist/completions/stackit.fish' - id: freebsd-builds env: @@ -74,7 +74,7 @@ archives: - freebsd-builds formats: [ 'tar.gz' ] files: - - src: ./dist/completions/* + - src: ./completions/* dst: completions - LICENSE.md - README.md @@ -108,6 +108,18 @@ nfpms: dst: /usr/share/doc/stackit/copyright file_info: mode: 0644 + - src: ./completions/stackit.bash + dst: /usr/share/bash-completion/completions/stackit + file_info: + mode: 0644 + - src: ./completions/stackit.zsh + dst: /usr/share/zsh/vendor-completions/_stackit + file_info: + mode: 0644 + - src: ./completions/stackit.fish + dst: /usr/share/fish/vendor_completions.d/stackit.fish + file_info: + mode: 0644 formats: - deb - rpm @@ -155,3 +167,7 @@ snapcrafts: grade: stable # Whether to publish the Snap to the store publish: true + apps: + stackit: + command: stackit + completer: completions/stackit.bash