@@ -13,33 +13,58 @@ jobs:
1313 go-version : [ "1.23", "1.24" ]
1414 runs-on : ubuntu-latest
1515 env :
16- GOLANGCI_LINT_VERSION : v2.1.5
16+ GOLANGCI_LINT_VERSION : v2.1.6
1717
1818 steps :
1919 - name : Checkout code
2020 uses : actions/checkout@v4
2121
2222 - name : Install Go
23- if : success()
23+ id : install-go
2424 uses : actions/setup-go@v5
2525 with :
2626 go-version : ${{ matrix.go-version }}
2727
28+ - name : Download dependencies
29+ run : go mod download
30+ if : steps.install-go.outputs.cache-hit != 'true'
31+
2832 - name : Run linter
2933 uses : golangci/golangci-lint-action@v8
3034 with :
3135 version : ${{ env.GOLANGCI_LINT_VERSION }}
3236
33- - name : Run tests
34- run : go test -covermode=count -coverprofile=coverage.out ./...
37+ - name : Setup gotestsum
38+ uses : gertd/action-gotestsum@v3.0.0
39+ with :
40+ gotestsum_version : v1.12.0
41+
42+ - name : Run Tests
43+ run : gotestsum --junitfile tests.xml --format pkgname -- -covermode=atomic -coverprofile=coverage.out -race ./...
3544
36- - name : Convert coverage.out to coverage.lcov
37- uses : jandelgado/gcov2lcov-action@v1
45+ - name : Test Summary
46+ uses : test-summary/action@v2
47+ with :
48+ paths : " tests.xml"
49+ if : always()
3850
3951 - name : Coveralls
4052 uses : coverallsapp/github-action@v2
4153 with :
4254 github-token : ${{ secrets.GITHUB_TOKEN }}
55+ files : coverage.out
56+ format : golang
4357 parallel : true
4458 flag-name : go-${{ matrix.go-version }}
45- path-to-lcov : coverage.lcov
59+
60+ finish :
61+ needs : test
62+ if : ${{ always() }}
63+ runs-on : ubuntu-latest
64+
65+ steps :
66+ - name : Coveralls Finished
67+ uses : coverallsapp/github-action@v2
68+ with :
69+ github-token : ${{ secrets.GITHUB_TOKEN }}
70+ parallel-finished : true
0 commit comments