diff --git a/.github/workflows/coverage-linux-without-intl.yml b/.github/workflows/coverage-linux-without-intl.yml new file mode 100644 index 00000000000000..f718c5c7773026 --- /dev/null +++ b/.github/workflows/coverage-linux-without-intl.yml @@ -0,0 +1,69 @@ +name: Coverage Linux (without intl) + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - benchmark/** + - deps/** + - doc/** + - .github/** + - '!.github/workflows/coverage-linux-without-intl.yml' + push: + branches: + - main + paths-ignore: + - '**.md' + - benchmark/** + - deps/** + - doc/** + - .github/** + - '!.github/workflows/coverage-linux-without-intl.yml' + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +env: + PYTHON_VERSION: '3.11' + FLAKY_TESTS: keep_retrying + +permissions: + contents: read + +jobs: + coverage-linux-without-intl: + if: github.event.pull_request.draft == false + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + persist-credentials: false + - name: Set up Python ${{ env.PYTHON_VERSION }} + uses: actions/setup-python@v4 + with: + python-version: ${{ env.PYTHON_VERSION }} + - name: Environment Information + run: npx envinfo + - name: Install gcovr + run: pip install gcovr==4.2 + - name: Build + run: make build-ci -j2 V=1 CONFIG_FLAGS="--error-on-warn --coverage --without-intl" + # 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 test-cov -j2 V=1 TEST_CI_ARGS="-p dots --measure-flakiness 9" || exit 0 + - name: Report JS + run: npx c8 report --check-coverage + env: + NODE_OPTIONS: --max-old-space-size=8192 + - name: Report C++ + run: cd out && gcovr --gcov-exclude='.*\b(deps|usr|out|obj|cctest|embedding)\b' -v -r Release/obj.target --xml -o ../coverage/coverage-cxx.xml --root=$(cd ../ && pwd) + # Clean temporary output from gcov and c8, so that it's not uploaded: + - name: Clean tmp + run: rm -rf coverage/tmp && rm -rf out + - name: Upload + uses: codecov/codecov-action@v3 + with: + directory: ./coverage