name: test on: push: paths-ignore: - '**.md' - '**.toml' - '**.desktop' - 'LICENSE' pull_request: paths-ignore: - '**.md' - '**.toml' - '**.desktop' - 'LICENSE' jobs: test: strategy: fail-fast: false matrix: go-version: ['1.15', '1.16', '1.17'] os: [ubuntu-latest, macos-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - name: Install Go uses: actions/setup-go@v2 with: go-version: ${{ matrix.go-version }} - name: Install make on Windows if: matrix.os == 'windows-latest' run: choco install make - name: Checkout code uses: actions/checkout@v2 - uses: actions/cache@v2 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Test run: | go test -race ./... make