...
1name: Test
2on:
3 push:
4 branches:
5 - master
6 pull_request:
7 types: [ opened, synchronize ]
8# When a new revision is pushed to a PR, cancel all in-progress CI runs for that
9# PR. See https://docs.github.com/en/actions/using-jobs/using-concurrency
10concurrency:
11 group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
12 cancel-in-progress: true
13jobs:
14 test:
15 strategy:
16 matrix:
17 os: [ubuntu-latest, windows-latest]
18 go: ["1.21", "1.22"]
19 runs-on: ${{ matrix.os }}
20 continue-on-error: true
21 steps:
22 - uses: actions/checkout@v4
23 - uses: actions/setup-go@v5
24 with:
25 go-version: ${{ matrix.go }}
26 - name: Core tests
27 uses: nick-fields/retry@v3
28 with:
29 max_attempts: 3
30 timeout_minutes: 20
31 command: |
32 go mod download
33 go test -race ./...
34 - name: Example tests
35 uses: nick-fields/retry@v3
36 with:
37 max_attempts: 3
38 timeout_minutes: 20
39 command: |
40 cd _examples
41 go mod download
42 go test -race ./...
View as plain text