-
Notifications
You must be signed in to change notification settings - Fork 9.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #12922 from serathius/actions
Migrate PR testing from travis to GitHub actions
- Loading branch information
Showing
1 changed file
with
78 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
name: Unit Tests | ||
on: [push] | ||
jobs: | ||
test: | ||
# TODO: Remove continue-on-error after migrating from Travis to GitHub Actions | ||
continue-on-error: true | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: true | ||
matrix: | ||
# TODO: Add tip when https://github.com/actions/setup-go/issues/21 is resolved | ||
go: [1.16.3] | ||
target: | ||
- linux-amd64-fmt | ||
- linux-amd64-grpcproxy | ||
- linux-amd64-coverage | ||
- linux-amd64-integration-1-cpu | ||
- linux-amd64-integration-2-cpu | ||
- linux-amd64-integration-4-cpu | ||
- linux-amd64-functional | ||
- linux-amd64-unit-4-cpu-race | ||
- all-build | ||
- linux-amd64-fmt-unit-go-tip-2-cpu | ||
- linux-386-unit-1-cpu | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-go@v2 | ||
with: | ||
go-version: ${{ matrix.go }} | ||
- run: date | ||
- env: | ||
TARGET: ${{ matrix.target }} | ||
run: | | ||
echo "${TARGET}" | ||
case "${TARGET}" in | ||
linux-amd64-fmt) | ||
GOARCH=amd64 PASSES='fmt bom dep' ./test.sh | ||
;; | ||
linux-amd64-integration-1-cpu) | ||
GOARCH=amd64 CPU=1 PASSES='integration' RACE='false' ./test.sh | ||
;; | ||
linux-amd64-integration-2-cpu) | ||
GOARCH=amd64 CPU=2 PASSES='integration' RACE='false' ./test.sh | ||
;; | ||
linux-amd64-integration-4-cpu) | ||
GOARCH=amd64 CPU=4 PASSES='integration' RACE='false' ./test.sh | ||
;; | ||
linux-amd64-functional) | ||
GO_BUILD_FLAGS='-v -mod=readonly' ./build && GOARCH=amd64 PASSES='functional' ./test | ||
;; | ||
linux-amd64-unit-4-cpu-race) | ||
GOARCH=amd64 PASSES='unit' RACE='true' CPU='4' ./test.sh -p=2 | ||
;; | ||
all-build) | ||
GOARCH=amd64 PASSES='build' ./test.sh | ||
GOARCH=386 PASSES='build' ./test.sh | ||
GO_BUILD_FLAGS='-v -mod=readonly' GOOS=darwin GOARCH=amd64 ./build.sh | ||
GO_BUILD_FLAGS='-v -mod=readonly' GOOS=windows GOARCH=amd64 ./build.sh | ||
GO_BUILD_FLAGS='-v -mod=readonly' GOARCH=arm ./build.sh | ||
GO_BUILD_FLAGS='-v -mod=readonly' GOARCH=arm64 ./build.sh | ||
GO_BUILD_FLAGS='-v -mod=readonly' GOARCH=ppc64le ./build.sh | ||
GO_BUILD_FLAGS='-v -mod=readonly' GOARCH=s390x ./build.sh | ||
;; | ||
linux-amd64-grpcproxy) | ||
PASSES='build grpcproxy' CPU='4' COVER='false' RACE='true' ./test.sh 2>&1 | tee test.log | ||
! egrep "(--- FAIL:|DATA RACE|panic: test timed out|appears to have leaked)" -B50 -A10 test.log | ||
;; | ||
linux-amd64-coverage) | ||
./scripts/codecov_upload.sh test-coverage.log \ | ||
! egrep "(--- FAIL:|DATA RACE|panic: test timed out|appears to have leaked)" -B50 -A10 test-coverage.log | ||
;; | ||
linux-amd64-fmt-unit-go-tip-2-cpu) | ||
GOARCH=amd64 PASSES='fmt unit' CPU='2' RACE='false' ./test.sh -p=2 | ||
;; | ||
linux-386-unit-1-cpu) | ||
GOARCH=386 PASSES='unit' RACE='false' CPU='1' ./test -p=4 | ||
;; | ||
esac |