From d1901d71e6cf2f99ef4a311e1fc017054ab3985a Mon Sep 17 00:00:00 2001 From: Grigory Efimov Date: Tue, 30 Apr 2024 13:45:14 +0000 Subject: [PATCH] .github/workflows/coverage.yml moved on reusable workflow --- .github/workflows/coverage.yml | 72 +++------------------------------- 1 file changed, 5 insertions(+), 67 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 08a5c2eb..d0a0f751 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -3,75 +3,13 @@ on: branches: - main +name: coverage + permissions: contents: write pull-requests: write jobs: - test: - runs-on: ubuntu-latest - strategy: - matrix: - go-version: - - '1.22' - env: - GOPRIVATE: github.com/anyproto - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-go@v4 - with: - go-version: '${{ matrix.go-version }}' - check-latest: true - - - name: git config - run: git config --global url.https://${{ secrets.ANYTYPE_PAT }}@github.com/.insteadOf https://github.com/ - - - name: Setup license repository - uses: actions/checkout@master - with: - repository: anyproto/open - ref: refs/heads/main - path: ./open - - name: Check licenses - run: | - cd open - python3 tools/generate.py --platform golang - cd .. - sudo gem install license_finder - license_finder inherited_decisions add open/decisions.yml - license_finder --enabled-package-managers gomodules - - - name: deps - run: make deps - - - name: unit tests - run: make test - - - name: Quality Gate - Test coverage shall be above threshold - env: - TESTCOVERAGE_THRESHOLD: 0 - run: | - go test ./... -coverprofile coverage.out -covermode count - - generated_pattern='^\/\/ Code generated .* DO NOT EDIT\.$' - files_list=$(grep -rl "$generated_pattern" . | grep '\.go$' | sed 's/^\.\///') - - for file in $files_list; do - echo "Removing $file from coverage report" - grep -v "$file" coverage.out > temp_file - mv temp_file coverage.out - done - - go tool cover -func coverage.out - echo "Quality Gate: checking test coverage is above threshold ..." - echo "Threshold : $TESTCOVERAGE_THRESHOLD %" - totalCoverage=`go tool cover -func=coverage.out | grep total | grep -Eo '[0-9]+\.[0-9]+'` - echo "Current test coverage : $totalCoverage %" - if (( $(echo "$totalCoverage $TESTCOVERAGE_THRESHOLD" | awk '{print ($1 > $2)}') )); then - echo "OK" - else - echo "Current test coverage is below threshold. Please add more unit tests or adjust threshold to a lower value." - echo "Failed" - exit 1 - fi - - uses: seriousben/go-patch-cover-action@v1 + release-reusable: + uses: anyproto/any-sync-node/.github/workflows/coverage-reusable.yml@main + secrets: inherit # pass all secrets