From 84c39610fcefbbfc57054ccbb8f5a10e9c2cb63d Mon Sep 17 00:00:00 2001 From: girazoki Date: Thu, 13 Jul 2023 09:19:11 +0200 Subject: [PATCH] modularize coverage (#2389) * modularize coverage * prettier * remove llvm path * Revert changes * Uses url to access aws bucket * force acl none * using s3 support for acl --------- Co-authored-by: Alan Sapede --- .github/workflows/coverage.yml | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 9fab0bc3c3..5b165173ee 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -13,6 +13,7 @@ on: env: NODE_OPTIONS: "--max-old-space-size=12288" + GRCOV_VERSION: 0.8.18 jobs: ####### Check files and formatting ####### @@ -103,14 +104,11 @@ jobs: echo "RUSTFLAGS=-C opt-level=3 -D warnings -C instrument-coverage -C linker=clang -C link-arg=-fuse-ld=$(pwd)/mold/bin/mold" >> $GITHUB_ENV - name: Setup grcov run: | - wget https://alan-stuff.s3.amazonaws.com/grcov -O grcov + wget https://github.com/mozilla/grcov/releases/download/v${{ env.GRCOV_VERSION }}/grcov-x86_64-unknown-linux-gnu.tar.bz2 + tar xvf grcov-x86_64-unknown-linux-gnu.tar.bz2 chmod +x grcov - - name: Setup llvmprof-data - run: | - wget https://alan-stuff.s3.amazonaws.com/llvm-profdata -O llvm-profdata - wget https://alan-stuff.s3.amazonaws.com/llvm-cov -O llvm-cov - chmod +x llvm-profdata - chmod +x llvm-cov + - name: Install llvm tools + run: rustup component add llvm-tools-preview - name: Cargo build uses: ./.github/workflow-templates/cargo-build with: @@ -152,8 +150,8 @@ jobs: echo "Executing grcov" ./grcov proffiles/ -s ./ --binary-path ./target/release/ \ - -t html --branch --ignore-not-existing --ignore target/release/build/* \ - -o coverage/ --llvm-path ./ --llvm 2>&1 \ + -t html --branch --ignore-not-existing --ignore "target/release/build/*" \ + -o coverage/ --llvm 2>&1 \ | tee grcov.log INVALID="$(grep invalid grcov.log | \ @@ -166,13 +164,13 @@ jobs: rm $INVALID cd .. ./grcov proffiles/ -s ./ --binary-path ./target/release/ \ - -t html --branch --ignore-not-existing --ignore target/release/build/* \ - -o coverage/ --llvm-path ./ --llvm + -t html --branch --ignore-not-existing --ignore "target/release/build/*" \ + -o coverage/ --llvm fi echo "coverage_date=\"$(date)\"" >> $GITHUB_OUTPUT echo "total_percent=$(grep -o '[0-9\.]*%' coverage/html/coverage.json)" >> $GITHUB_OUTPUT - wget https://${{ vars.S3_COVERAGE_BUCKET }}.s3.amazonaws.com/branches/master/html/coverage.json \ + wget ${{ vars.S3_COVERAGE_URL }}/branches/master/html/coverage.json \ -O coverage-master.json || true echo "master_percent=$(grep -o '[0-9\.]*%' coverage-master.json || echo 'N/A')" >> $GITHUB_OUTPUT rm -rf proffiles/ @@ -182,7 +180,7 @@ jobs: name: coverage path: coverage - name: Upload coverage s3 - uses: shallwefootball/s3-upload-action@master + uses: mario-sangar/upload-s3-action@master id: S3 with: aws_key_id: ${{ secrets.S3_COVERAGE_ID }} @@ -190,8 +188,9 @@ jobs: aws_bucket: ${{ vars.S3_COVERAGE_BUCKET }} destination_dir: "${{ needs.set-tags.outputs.coverage_dir }}" source_dir: "coverage" + acl: "none" - name: Link To Report - run: echo "https://s3.amazonaws.com/${{ vars.S3_COVERAGE_BUCKET }}/${{steps.S3.outputs.object_key}}/html/index.html" + run: echo "${{ vars.S3_COVERAGE_URL }}/${{steps.S3.outputs.object_key}}/html/index.html" - name: Find Comment if: ${{ needs.set-tags.outputs.coverage_report == 'true' }} uses: peter-evans/find-comment@v2 @@ -208,7 +207,7 @@ jobs: issue-number: ${{ github.event.pull_request.number }} body: | Coverage generated ${{ steps.coverage.outputs.coverage_date }}: - https://s3.amazonaws.com/${{ vars.S3_COVERAGE_BUCKET }}/${{steps.S3.outputs.object_key}}/html/index.html + ${{ vars.S3_COVERAGE_URL }}/${{steps.S3.outputs.object_key}}/html/index.html Master coverage: ${{ steps.coverage.outputs.master_percent }} Pull coverage: ${{ steps.coverage.outputs.total_percent }}