name: Go on: push: branches: - master pull_request: jobs: race-test: name: Test with -race strategy: matrix: os: [ "ubuntu-latest", "macos-latest", "windows-latest" ] go-version: [ "1.19", "1.20", "1.21" ] runs-on: ${{ matrix.os }} steps: - name: checkout uses: actions/checkout@v4 - name: setup Go ${{ matrix.go-version }} uses: actions/setup-go@v4 with: go-version: ${{ matrix.go-version }} - name: test run: | make test i386-test: name: Test in i386 strategy: matrix: os: [ "ubuntu-latest", "windows-latest" ] go-version: [ "1.19", "1.20", "1.21" ] runs-on: ${{ matrix.os }} env: GOARCH: "386" steps: - name: checkout uses: actions/checkout@v4 - name: setup Go ${{ matrix.go-version }} uses: actions/setup-go@v4 with: go-version: ${{ matrix.go-version }} - name: test run: | make simple-test ycat: name: ycat runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v4 - name: setup Go uses: actions/setup-go@v4 with: go-version: "1.21" - name: build run: | make ycat/build - name: run run: | ./ycat .github/workflows/go.yml coverage: name: Coverage runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v4 - name: setup Go uses: actions/setup-go@v4 with: go-version: "1.21" - name: measure coverage run: | make cover - uses: codecov/codecov-action@v3 with: fail_ci_if_error: true verbose: true