name: Backend Test on: push: branches: - main - "release/v*.*.*" pull_request: branches: [main] paths-ignore: - "web/**" jobs: go-static-checks: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-go@v3 with: go-version: 1.19 check-latest: true cache: true - name: Verify go.mod is tidy run: | go mod tidy -go=1.19 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 steps: - uses: actions/checkout@v3 - uses: actions/setup-go@v3 with: go-version: 1.19 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"}'