Added goreleaser and GitHub workflow

This commit is contained in:
David Allen 2024-07-30 10:47:39 -06:00
parent 699ff76e42
commit 6f027fa7fb
No known key found for this signature in database
GPG key ID: 717C593FF60A2ACC
2 changed files with 81 additions and 0 deletions

39
.github/workflows/main.yml vendored Normal file
View file

@ -0,0 +1,39 @@
name: Release with goreleaser
on:
workflow_dispatch:
push:
tags:
- v*
permissions: write-all # Necessary for the generate-build-provenance action with containers
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21
uses: actions/setup-go@v5
with:
go-version: 1.21
- name: Checkout
uses: actions/checkout@v4
with:
fetch-tags: 1
fetch-depth: 0
- name: Release with goreleaser
uses: goreleaser/goreleaser-action@v6
env:
GITHUB_TOKEN: ${{ github.token }}
with:
version: latest
args: release --clean
id: goreleaser
- name: Attest Binaries
uses: actions/attest-build-provenance@v1
with:
subject-path: '${{ github.workspace }}/dist/configurator_linux_amd64_v1/configurator'

42
.goreleaser.yaml Normal file
View file

@ -0,0 +1,42 @@
version: 2
before:
hooks:
- go mod download
builds:
- env:
- CGO_ENABLED=1
goos:
- linux
goarch:
- amd64
archives:
- format: tar.gz
# this name template makes the OS and Arch compatible with the results of uname.
name_template: >-
{{ .ProjectName }}_
{{- title .Os }}_
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
files:
- LICENSE
- CHANGELOG.md
- README.md
- configurator
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ incpatch .Version }}-next"
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
release:
github:
name_template: "{{.Version}}"
prerelease: auto
mode: append