name: CI on: push: branches: ["tailscale"] pull_request: branches: ["tailscale"] jobs: build: runs-on: ubuntu-22.04 strategy: matrix: include: - goos: linux goarch: amd64 - goos: linux goarch: arm64 - goos: linux goarch: "386" - goos: linux goarch: loong64 - goos: linux goarch: arm goarm: "5" - goos: linux goarch: arm goarm: "7" # macOS - goos: darwin goarch: amd64 - goos: darwin goarch: arm64 # Windows - goos: windows goarch: amd64 - goos: windows goarch: arm64 # BSDs - goos: freebsd goarch: amd64 - goos: openbsd goarch: amd64 steps: - name: checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: setup go uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version-file: go.mod - name: build run: go build ./... env: GOOS: ${{ matrix.goos }} GOARCH: ${{ matrix.goarch }} CGO_ENABLED: "0" test: runs-on: ubuntu-22.04 steps: - name: checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: setup go uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 with: go-version-file: go.mod - name: test run: go test -race -v ./...