Skip to content

Commit

Permalink
ci: add test coverage indicator
Browse files Browse the repository at this point in the history
  • Loading branch information
Rohan Bansal committed Feb 24, 2025
1 parent e984604 commit 836816f
Showing 1 changed file with 45 additions and 4 deletions.
49 changes: 45 additions & 4 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,28 @@ jobs:
beam: beam/**
test:
name: ${{ matrix.package }}
name: ${{ matrix.package }} (test)
needs: changes
runs-on: ubuntu-latest

strategy:
matrix:
package: ${{ fromJSON(needs.changes.outputs.packages) }}
include:
- branch: development
artifact: development
- branch: ${{ github.head_ref }}
artifact: pull-request

permissions:
# Required to checkout the code
contents: read

steps:
- name: Checkout
- name: Checkout (${{ matrix.branch }})
uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}

- name: Install Node
uses: actions/setup-node@v4
Expand All @@ -55,10 +66,40 @@ jobs:
working-directory: ./${{ matrix.package }}
run: node ../common/scripts/install-run-rushx.js test:coverage

- name: Coverage Report
if: always() # generate the coverage report even if tests are failing
- name: Upload Coverage
if: always() # upload the coverage report even if tests are failing
uses: actions/upload-artifact@v4
with:
name: coverage-${{ matrix.package }}-${{ matrix.artifact }}
path: ./${{ matrix.package }}/coverage

coverage:
name: ${{ matrix.package }} (coverage)
needs: [changes, test]
runs-on: ubuntu-latest
if: always() # run the coverage report even if tests are failing

strategy:
matrix:
package: ${{ fromJSON(needs.changes.outputs.packages) }}

steps:
- name: Download PR Branch Coverage
uses: actions/download-artifact@v4
with:
name: coverage-${{ matrix.package }}-pull-request
path: coverage

- name: Download Base Branch Coverage
uses: actions/download-artifact@v4
with:
name: coverage-${{ matrix.package }}-development
path: coverage-${{ matrix.package }}-development

- name: Report Coverage
uses: davelosert/vitest-coverage-report-action@v2
with:
working-directory: ./${{ matrix.package }}
file-coverage-mode: 'all'
vite-config-path: './vite.config.ts'
json-summary-compare-path: coverage-${{ matrix.package }}-development/coverage-summary.json

0 comments on commit 836816f

Please sign in to comment.