Skip to content

Add coverage comparison script#27

Open
douglaswinter wants to merge 1 commit intomainfrom
dw/coverage_script
Open

Add coverage comparison script#27
douglaswinter wants to merge 1 commit intomainfrom
dw/coverage_script

Conversation

@douglaswinter
Copy link
Collaborator

A script that takes two dirs containing coverage summaries for each app and package, measured at two points (i.e. PR vs main) and fails if regression for any project is detected.

This script needs to be merged before a PR is created with a workflow action referencing it, as that PR itself will trigger the job and fail if the script is not found.

Fixes #26

A script that takes two dirs containing coverage summaries for each app
and package, measured at two points (i.e. PR vs main) and fails if reg-
gression for any project is detected.

This script needs to be merged before a PR is created with a workflow
action referencing it, as that PR itself will trigger the job and fail
if the script is not found.
@douglaswinter
Copy link
Collaborator Author

The reviewer may mimic what the upcoming workflow action will do by:

  1. create new branch, let's say 'cov-test'
  2. affect coverage (e.g. delete test file, or whatever case you want to cover)
  3. commit
  4. Run coverage: pnpm turbo coverage --filter=...[main] --force --no-daemon
  5. Save report:
    mkdir pr-coverage
    find . -name coverage-summary.json | while read file; do
    project=$(dirname "$(dirname "$file")")
    project=$(basename "$project")
    cp "$file" "pr-coverage/$project.json"
    done
  6. checkout main, run coverage: pnpm turbo coverage --filter=...[cov-test] --force --no-daemon
  7. save report:
    mkdir base-coverage
    find . -name coverage-summary.json | while read file; do
    project=$(dirname "$(dirname "$file")")
    project=$(basename "$project")
    cp "$file" "base-coverage/$project.json"
    done
  8. You'll have two dirs base-coverage an pr-coverage, each with a json file per project. Run the script: node scripts/compare-coverage.mjs pr-coverage base-coverage

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add coverage check script

1 participant