Skip to content

gha: extend matrix to include Windows and macOS, and lint on all #15

gha: extend matrix to include Windows and macOS, and lint on all

gha: extend matrix to include Windows and macOS, and lint on all #15

Workflow file for this run

name: CI
on: [push, pull_request]
# Default to 'contents: read', which grants actions to read commits. Any
# permission not included is implicitly set to "none".
#
# see https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
permissions:
contents: read
jobs:
test:
name: Test
runs-on: ${{ matrix.platform }}
timeout-minutes: 20 # guardrails timeout
strategy:
fail-fast: false
matrix:
# Oldest supported + currently supported Go versions
go: ["1.12.x", "oldstable", "stable"]
platform: [ubuntu-latest, windows-latest, macos-latest]
exclude:
# go1.12 is not available for windows and macos on GitHub actions.
- go: "1.12.x"
platform: windows-latest
- go: "1.12.x"
platform: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Set up Go
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: ${{ matrix.go }}
- name: Test
# Cannot enable shuffle for now because some tests rely on global state and order
# run: go test -race -v -shuffle=on ./...
run: go test -race -v ./...
- name: Lint
uses: golangci/golangci-lint-action@1e7e51e771db61008b38414a730f564565cf7c20 # v9.2.0
with:
version: v2.7