name: Test on: push: branches: - main - "release/v*.*.*" pull_request: branches: [main] jobs: go-static-checks: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-go@v3 with: go-version: 1.18 check-latest: true cache: true - name: Verify go.mod is tidy run: | go mod tidy git diff --exit-code - name: golangci-lint uses: golangci/golangci-lint-action@v3 with: args: -v skip-cache: true go-tests: runs-on: ubuntu-latest timeout-minutes: 15 steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - uses: actions/setup-go@v3 with: go-version: 1.18 check-latest: true cache: true - name: Run all tests run: go test -v ./... | tee test.log; exit ${PIPESTATUS[0]} - name: Pretty print tests running time run: grep --color=never -e '--- PASS:' -e '--- FAIL:' test.log | sed 's/[:()]//g' | awk '{print $2,$3,$4}' | sort -t' ' -nk3 -r | awk '{sum += $3; print $1,$2,$3,sum"s"}'