forked from quic-go/quic-go
ci: enable Codecov test analysis (#5210)
* ci: enable Codecov test analysis * ci: set package name for pre-built test binary
This commit is contained in:
21
.github/workflows/unit.yml
vendored
21
.github/workflows/unit.yml
vendored
@@ -17,13 +17,15 @@ jobs:
|
||||
with:
|
||||
go-version: ${{ matrix.go }}
|
||||
- run: go version
|
||||
- name: Install go-junit-report
|
||||
run: go install github.com/jstemmer/go-junit-report/v2@v2.1.0
|
||||
- name: Remove integrationtests
|
||||
shell: bash
|
||||
run: rm -rf integrationtests
|
||||
- name: Run tests
|
||||
env:
|
||||
TIMESCALE_FACTOR: 10
|
||||
run: go test -v -shuffle on -cover -coverprofile coverage.txt ./...
|
||||
run: go test -v -shuffle on -cover -coverprofile coverage.txt ./... 2>&1 | go-junit-report -set-exit-code -iocopy -out report.xml
|
||||
- name: Run tests as root
|
||||
if: ${{ matrix.os == 'ubuntu' }}
|
||||
env:
|
||||
@@ -33,22 +35,23 @@ jobs:
|
||||
test -f $FILE # make sure the file actually exists
|
||||
TEST_NAMES=$(grep '^func Test' "$FILE" | sed 's/^func \([A-Za-z0-9_]*\)(.*/\1/' | tr '\n' '|')
|
||||
go test -c -cover -tags root -o quic-go.test .
|
||||
sudo ./quic-go.test -test.v -test.run "${TEST_NAMES%|}" -test.coverprofile coverage-root.txt
|
||||
sudo ./quic-go.test -test.v -test.run "${TEST_NAMES%|}" -test.coverprofile coverage-root.txt 2>&1 | go-junit-report -set-exit-code -iocopy -package-name github.com/quic-go/quic-go -out report_root.xml
|
||||
rm quic-go.test
|
||||
- name: Run tests (32 bit)
|
||||
if: ${{ matrix.os != 'macos' }} # can't run 32 bit tests on OSX.
|
||||
if: ${{ matrix.os != 'macos' }} # can't run 32 bit tests on macOS
|
||||
env:
|
||||
TIMESCALE_FACTOR: 10
|
||||
GOARCH: 386
|
||||
run: go test -v -shuffle on -cover -coverprofile coverage.txt ./...
|
||||
run: go test -v -shuffle on ./...
|
||||
- name: Run tests with race detector
|
||||
if: ${{ matrix.os == 'ubuntu' }} # speed things up. Windows and OSX VMs are slow
|
||||
env:
|
||||
TIMESCALE_FACTOR: 20
|
||||
run: go test -v -shuffle on -cover -coverprofile coverage.txt $(go list ./... | grep -v integrationtests)
|
||||
run: go test -v -shuffle on ./...
|
||||
- name: Run benchmark tests
|
||||
run: go test -v -run=^$ -benchtime 0.5s -bench=. ./...
|
||||
- name: Upload coverage to Codecov
|
||||
if: ${{ !cancelled() }}
|
||||
uses: codecov/codecov-action@v5
|
||||
env:
|
||||
OS: ${{ matrix.os }}
|
||||
@@ -57,3 +60,11 @@ jobs:
|
||||
files: coverage.txt,coverage-root.txt
|
||||
env_vars: OS,GO
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
- name: Upload report to Codecov
|
||||
if: ${{ !cancelled() }}
|
||||
uses: codecov/test-results-action@v1
|
||||
with:
|
||||
name: Unit tests
|
||||
files: report.xml,report_root.xml
|
||||
env_vars: OS,GO
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
||||
Reference in New Issue
Block a user