{
  "name": "go test",
  "on":   ["push", "pull_request"],
  "jobs": {
    "test": {
      "strategy": {
        "matrix": {
          "go-version": ["1.13.x", "1.14.x", "1.15.x", "1.16.x", "1.17.x", "1.18.x", "1.19.x"],
          "os":         ["ubuntu-latest", "macos-latest", "windows-latest"]
        }
      },
      "runs-on": "${{ matrix.os }}",
      "env": {"GOPROXY": "direct"},
      "steps": [
        {
          "name": "Install Go",
          "uses": "actions/setup-go@v2",
          "with": {"go-version": "${{ matrix.go-version }}"}
        },
        {
          "name": "Checkout code",
          "uses": "actions/checkout@v2"
        },
        {
          "name": "Test",
          "run": "go test -v ./..."
        },
        {
          "name": "Test on 32bit",
          "if": "runner.os == 'Linux'",
          "run": "GOARCH=386 go test -v ./..."
        }
      ]
    }
  }
}
