Bump Go version, CI deps, fix some linter issues... #175
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: validate | |
on: | |
push: | |
tags: | |
- v* | |
branches: | |
- master | |
pull_request: | |
jobs: | |
commit: | |
runs-on: ubuntu-22.04 | |
# Only check commits on pull requests. | |
if: github.event_name == 'pull_request' | |
steps: | |
- name: get pr commits | |
id: 'get-pr-commits' | |
uses: tim-actions/[email protected] | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: check subject line length | |
uses: tim-actions/[email protected] | |
with: | |
commits: ${{ steps.get-pr-commits.outputs.commits }} | |
pattern: '^.{0,72}(\n.*)*$' | |
error: 'Subject too long (max 72)' | |
lint: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: 1.22.x | |
- uses: golangci/golangci-lint-action@v6 | |
with: | |
version: v1.61 | |
codespell: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install deps | |
# Version of codespell bundled with Ubuntu is way old, so use pip. | |
run: pip install codespell | |
- name: run codespell | |
run: codespell | |
cross: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: cross | |
run: make build-cross | |
test-stubs: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: 1.22.x | |
- uses: golangci/golangci-lint-action@v6 | |
with: | |
version: v1.61 | |
- name: test-stubs | |
run: make test | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
go-version: [1.21.x, 1.22.x, 1.23.x] | |
race: ["-race", ""] | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install go ${{ matrix.go-version }} | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ matrix.go-version }} | |
- name: build | |
run: make BUILDFLAGS="${{ matrix.race }}" build | |
- name: test | |
run: make TESTFLAGS="${{ matrix.race }}" test | |
- name: test 32-bit | |
if: ${{ matrix.race }} == "" # -race is not supported on linux/386 | |
run: make GOARCH=386 test |