123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- name: Backend Test
- on:
- push:
- branches: [main]
- pull_request:
- branches:
- - main
- - "release/*.*.*"
- paths:
- - "go.mod"
- - "go.sum"
- - "**.go"
- jobs:
- go-static-checks:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-go@v5
- with:
- go-version: 1.21
- check-latest: true
- cache: true
- - name: Verify go.mod is tidy
- run: |
- go mod tidy -go=1.21
- git diff --exit-code
- - name: golangci-lint
- uses: golangci/golangci-lint-action@v3
- with:
- version: v1.54.1
- args: --verbose --timeout=3m
- skip-cache: true
- go-tests:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-go@v5
- with:
- go-version: 1.21
- 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"}'
|