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