From 8549186eef4dc112cf552d2c0ed06dc01aeb5227 Mon Sep 17 00:00:00 2001 From: shreyasbhat0 Date: Tue, 20 Aug 2024 17:23:52 +0530 Subject: [PATCH] chore: add test ci coverage --- .github/workflows/test.yaml | 47 +++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index bc7c3436..819364a2 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -37,3 +37,50 @@ jobs: env: RELEASE: false GITHUB_TOKEN: "" + run-tests: + name: Run tests + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: technote-space/get-diff-action@v4 + with: + PATTERNS: | + **/**.go + go.mod + go.sum + - name: Set up Golang + uses: actions/setup-go@v3 + with: + go-version-file: go.mod + - name: Setup Golang caches + uses: actions/cache@v3 + with: + path: | + ~/.cache/go-build + ~/go/pkg/mod + key: ${{ runner.os }}-golang-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-golang- + - name: Build + run: go build -v ./... + - name: Test + run: go test -v ./... + - name: Test & Coverage Report creation + run: go test ./... -mod=readonly -timeout 12m -race -coverprofile=coverage.txt -covermode=atomic + if: env.GIT_DIFF + - name: Filter out DONTCOVER + run: | + excludelist="$(find ./ -type f -name '*.go' | xargs grep -l 'DONTCOVER')" + excludelist+=" $(find ./ -type f -name '*.pb.go')" + for filename in ${excludelist}; do + filename=$(echo $filename | sed 's/^./github.com\/archway-network\/archwayd/g') + echo "Excluding ${filename} from coverage report..." + sed -i.bak "/$(echo $filename | sed 's/\//\\\//g')/d" coverage.txt + done + if: env.GIT_DIFF + - name: Upload Coverage Report + uses: codecov/codecov-action@v3 + with: + files: ./coverage.txt + fail_ci_if_error: false + if: env.GIT_DIFF