Skip to content

Commit

Permalink
Release workflow for shp CLI
Browse files Browse the repository at this point in the history
- Use gorelease to create binaries for windows, linux, and macOS on
  amd64 and arm64.
- Run workflow whenever a semantic version tag is created.
- Binary is named `shp` and optimized for space efficiency.

Co-authored-by: Akram Ben Aissi <[email protected]>
Co-authored-by: Matthias Diester <[email protected]>
Co-authored-by: Sascha Schwarze <[email protected]>
  • Loading branch information
3 people authored and adambkaplan committed Oct 26, 2021
1 parent 4831482 commit 5f62352
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 0 deletions.
26 changes: 26 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
name: Release
on:
push:
tags:
- 'v*'
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.17.x
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ _output/
/shp
/shp-*
/bin/*
dist/
33 changes: 33 additions & 0 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
before:
hooks:
- go generate ./...
builds:
- env:
- CGO_ENABLED=0
goos:
- linux
- darwin
- windows
goarch:
- amd64
- arm64
flags:
- -trimpath
ldflags:
- -s -w -extldflags "-static"
main: ./cmd/shp/main.go
binary: shp
archives:
- replacements:
darwin: macOS
amd64: x86_64
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ incpatch .Version }}-next"
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'

0 comments on commit 5f62352

Please sign in to comment.