name: Test

on:
  push:
    branches:
      - '*'
  pull_request:
    branches:
      - '*'

jobs:
  build:
    strategy:
      fail-fast: false
      matrix:
        go-version:
        - "1.23"
        - "1.24"
        os: [ubuntu-latest, macos-latest]
    runs-on: ${{ matrix.os }}

    steps:
    - name: Set up Go
      uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
      with:
        go-version: ${{ matrix.go-version }}
      id: go

    - name: Check out code into the Go module directory
      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

    # Run basic tests, we just want to make sure there is parity on Linux and
    # macOS, and back to the oldest version of Go this library supports.
    - name: Run tests
      run: go test ./...
