Skip to content

feat(version): attribute the binary's source via runtime/debug.BuildInfo #32

feat(version): attribute the binary's source via runtime/debug.BuildInfo

feat(version): attribute the binary's source via runtime/debug.BuildInfo #32

Workflow file for this run

name: test
on:
push:
branches: ['**']
pull_request:
branches: ['**']
# Top-level permissions are read-only by default; individual jobs can
# escalate where they actually need write (none of these do).
permissions:
contents: read
# Cancel an in-flight run for the same ref when a new push lands. Keeps
# the queue short and saves CI minutes on busy days.
concurrency:
group: test-${{ github.ref }}
cancel-in-progress: true
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true'
jobs:
test:
name: test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
# Pin to the patch declared in go.mod so a 1.26.0-cached toolchain
# doesn't fail "module requires go >= 1.26.2" on a fresh runner.
go-version-file: go.mod
cache: true
- name: Build
run: go build ./...
- name: Test (race)
run: go test -race ./...
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
# Pin to the patch declared in go.mod so a 1.26.0-cached toolchain
# doesn't fail "module requires go >= 1.26.2" on a fresh runner.
go-version-file: go.mod
cache: true
# v7+ is required for golangci-lint v2.x — the v6 action only
# parses v1.x version strings. The version below must be one that's
# been built with a Go toolchain >= the one in go.mod, otherwise
# golangci-lint refuses to load: "the Go language version used to
# build golangci-lint is lower than the targeted Go version".
- uses: golangci/golangci-lint-action@v9
with:
version: v2.11.4