...
1on:
2 push:
3 branches:
4 - master
5 pull_request:
6name: Test
7jobs:
8 test:
9 strategy:
10 matrix:
11 go-version: [1.17.x,1.18.x,1.21.x]
12 os: [ubuntu-latest, macos-latest, windows-latest]
13 runs-on: ${{ matrix.os }}
14 steps:
15 - name: Install Go
16 uses: actions/setup-go@v3
17 with:
18 go-version: ${{ matrix.go-version }}
19
20 - name: Checkout code
21 uses: actions/checkout@v3
22
23 - name: Restore Cache
24 uses: actions/cache@v3
25 with:
26 path: ~/go/pkg/mod
27 key: ${{ runner.os }}-v1-go-${{ hashFiles('**/go.sum') }}
28 restore-keys: |
29 ${{ runner.os }}-v1-go-
30
31 - name: Test
32 run: go test -race -covermode=atomic -coverprofile="profile.cov" ./...
33
34 - name: Send Coverage
35 if: matrix.os == 'ubuntu-latest' && matrix.go-version == '1.21.x'
36 uses: shogo82148/actions-goveralls@v1
37 with:
38 path-to-profile: profile.cov
39
40 golangci:
41 name: lint
42 runs-on: ubuntu-latest
43 steps:
44 - uses: actions/setup-go@v3
45 with:
46 go-version: 1.21.x
47 - uses: actions/checkout@v3
48 - name: golangci-lint
49 uses: golangci/golangci-lint-action@v3
50 with:
51 version: latest
View as plain text