Skip to content

Commit

Permalink
build: add GitHub Action for code coverage
Browse files Browse the repository at this point in the history
PR-URL: #35653
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
  • Loading branch information
bcoe authored and Trott committed Oct 17, 2020
1 parent 35a6946 commit bb2945e
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 3 deletions.
41 changes: 41 additions & 0 deletions .github/workflows/coverage-linux.yml
@@ -0,0 +1,41 @@
# TODO(bcoe): add similar job for Windows coverage.
name: coverage-linux

on:
pull_request:
push:
branches:
- master

env:
PYTHON_VERSION: 3.9
FLAKY_TESTS: dontcare

jobs:
# TODO(bcoe): add support for C++ coverage.
coverage-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v2
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Build
run: make build-ci -j2 V=1 CONFIG_FLAGS="--error-on-warn"
# TODO(bcoe): fix the couple tests that fail with the inspector enabled.
# The cause is most likely coverage's use of the inspector.
- name: Test
run: NODE_V8_COVERAGE=coverage/tmp make run-ci -j2 V=1 TEST_CI_ARGS="-p dots" || exit 0
- name: Report
run: npx c8 report --check-coverage
- name: Output file count
run: ls -l coverage/tmp/ | wc -l
- name: Clean tmp
run: rm -rf coverage/tmp
- name: Upload
uses: codecov/codecov-action@v1
with:
directory: ./coverage
20 changes: 17 additions & 3 deletions .nycrc
@@ -1,7 +1,21 @@
{
"exclude": [
"**/internal/process/write-coverage.js"
"coverage/**",
"test/**",
"tools/**",
"benchmark/**",
"deps/**"
],
"compact": false,
"reporter": ["html", "text"]
"reporter": [
"html",
"text",
"lcov"
],
"lines": 95,
"branches": "93",
"statements": "95",
"temp-directory": "coverage/tmp",
"omit-relative": false,
"resolve": "./lib",
"wrapper-length": 0
}

0 comments on commit bb2945e

Please sign in to comment.