feat: add file-coverage-root-path option to customize coverage report paths #778
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Build and Test" | |
on: | |
pull_request: | |
jobs: | |
test: | |
permissions: | |
pull-requests: write | |
strategy: | |
matrix: | |
branch: | |
- ${{ github.head_ref }} | |
- "main" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ matrix.branch }} | |
## Set repository to correctly checkout from forks | |
repository: ${{ github.event.pull_request.head.repo.full_name }} | |
- name: "Install Node" | |
uses: actions/setup-node@v4 | |
with: | |
node-version: "20.x" | |
cache: "npm" | |
- name: "Install Deps" | |
run: npm ci | |
- name: "Test" | |
run: npm run test:coverage | |
- name: "Upload Coverage" | |
uses: actions/upload-artifact@v4 | |
with: | |
## We can't use the branch name as it can contain invalid characters (e.g. dependatbot hast forwared slashes in it's branch name) | |
name: "coverage-${{ matrix.branch == 'main' && 'main' || 'test-branch' }}" | |
path: coverage | |
build-and-report: | |
runs-on: ubuntu-latest | |
needs: test | |
steps: | |
- uses: actions/checkout@v4 | |
- name: "Install Node" | |
uses: actions/setup-node@v4 | |
with: | |
node-version: "20.x" | |
cache: "npm" | |
- name: "Install Deps" | |
run: npm ci | |
- name: "Build" | |
run: npm run build | |
# Remove node_modules to see if this action runs entirely compiled | |
- name: "Remove Node Modules" | |
run: rm -rf node_modules | |
- name: "Download Coverage Artifacts for ${{ github.head_ref}}" | |
uses: actions/download-artifact@v4 | |
with: | |
name: coverage-test-branch | |
path: coverage | |
- name: "Download Coverage Artifacts for main" | |
uses: actions/download-artifact@v4 | |
with: | |
name: coverage-main | |
path: coverage-main | |
- name: "Test Action by genearting coverage" | |
uses: ./ | |
with: | |
file-coverage-mode: "all" | |
json-summary-compare-path: coverage-main/coverage-summary.json | |
comment-on: 'pr,commit' |