Skip to content

feat: add goreleaser to attach binary packages to releases #32

feat: add goreleaser to attach binary packages to releases

feat: add goreleaser to attach binary packages to releases #32

Workflow file for this run

name: Go - Release Build
on:
pull_request:
push:
branches:
- main
tags:
- '*'
concurrency:
# Cancels pending runs when a PR gets updated.
group: ${{ github.head_ref || github.run_id }}-${{ github.actor }}
cancel-in-progress: true
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
go-version:
- 1.20.7
- 1.21.0
steps:
- uses: actions/[email protected]
- name: Setup Go ${{ matrix.go-version }}
uses: actions/[email protected]
with:
go-version: ${{ matrix.go-version }}
- name: Display Go version
run: go version
- name: Install Go Dependencies
run: go get ./...
- name: Execute Go Build
run: go build -v ./...
- name: Execute Go Test
run: go test -v ./...
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- name: Setup Go
uses: actions/[email protected]
with:
go-version: 1.20.7
- name: Run golangci-lint
uses: golangci/[email protected]
with:
version: v1.53.3
skip-pkg-cache: true
skip-build-cache: true
args: --timeout=10m
goreleaser:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
with:
fetch-depth: 0
- run: git fetch --force --tags
- name: Setup Go
uses: actions/[email protected]
with:
go-version: 1.20.7
- name: Execute GoReleaser
uses: goreleaser/[email protected]
if: startsWith(github.ref, 'refs/tags/')
with:
distribution: goreleaser
version: latest
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}