Skip to content

Commit

Permalink
modularize coverage (#2389)
Browse files Browse the repository at this point in the history
* 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 <[email protected]>
  • Loading branch information
girazoki and crystalin authored Jul 13, 2023
1 parent 31838bf commit 84c3961
Showing 1 changed file with 14 additions and 15 deletions.
29 changes: 14 additions & 15 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ on:

env:
NODE_OPTIONS: "--max-old-space-size=12288"
GRCOV_VERSION: 0.8.18

jobs:
####### Check files and formatting #######
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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 | \
Expand All @@ -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/
Expand All @@ -182,16 +180,17 @@ 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 }}
aws_secret_access_key: ${{ secrets.S3_COVERAGE_KEY }}
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
Expand All @@ -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 }}
Expand Down

0 comments on commit 84c3961

Please sign in to comment.