Skip to content

Add GoReleaser config and release workflow with floating major tags #91

Add GoReleaser config and release workflow with floating major tags

Add GoReleaser config and release workflow with floating major tags #91

Workflow file for this run

name: test-and-lint
on:
pull_request:
branches:
- main
permissions:
contents: read
jobs:
# Runs `go test` against 3 operating systems.
gotest:
strategy:
matrix:
os: [macos, windows, ubuntu]
runs-on: ${{ matrix.os }}-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version-file: go.mod
- name: go-test
run: go test -race -covermode=atomic '-test.v' ./...
# Runs golangci-lint on macos against freebsd and macos.
golangci-darwin:
strategy:
matrix:
os: [darwin, freebsd]
name: golangci-lint
runs-on: macos-latest
env:
GOOS: ${{ matrix.os }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version-file: go.mod
- name: golangci-lint
uses: golangci/golangci-lint-action@ba0d7d2ec06a0ea1cb5fa41b2e4a3ab91d21278a # v9.3.0
with:
version: v2.13
# Runs golangci-lint on linux against linux and windows.
golangci-linux:
strategy:
matrix:
os: [windows, linux]
name: golangci-lint
runs-on: ubuntu-latest
env:
GOOS: ${{ matrix.os }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version-file: go.mod
- name: golangci-lint
uses: golangci/golangci-lint-action@ba0d7d2ec06a0ea1cb5fa41b2e4a3ab91d21278a # v9.3.0
with:
version: v2.13