From 3d8a3f09c5c43cc89915c6d01e4ec1ece82f1536 Mon Sep 17 00:00:00 2001 From: Tim van der Meij Date: Wed, 29 Apr 2026 14:37:04 +0200 Subject: [PATCH] Move `unittestcli` coverage collection to `ci.yml` Originally we introduced a separate `coverage.yml` workflow to test-drive coverage collection without immediately introducing it inline in the `ci.yml` workflow. However, now that coverage collection works nicely and is performant enough we can simplify the workflow definitions by removing `coverage.yml` entirely in favor of simply inlining coverage collection into the existing `unittestcli` run in `ci.yml`. Doing so also avoids having to a full extra `unittestcli` run just to collect coverage information. Moreover, this commit aligns coverage collection flags with the ones in the other workflows to be more explicit and consistent. --- .github/workflows/ci.yml | 15 +++++++-- .github/workflows/coverage.yml | 60 ---------------------------------- 2 files changed, 13 insertions(+), 62 deletions(-) delete mode 100644 .github/workflows/coverage.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 226ef181d..b9c6d7d03 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,6 +7,7 @@ jobs: test: name: Test runs-on: ubuntu-latest + environment: code-coverage strategy: fail-fast: false @@ -41,8 +42,8 @@ jobs: - name: Run external tests run: npx gulp externaltest - - name: Run CLI unit tests - run: npx gulp unittestcli + - name: Run CLI unit tests with code coverage + run: npx gulp unittestcli --coverage --coverage-output build/coverage/unitcli - name: Save cached PDF files uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 @@ -50,3 +51,13 @@ jobs: path: test/pdfs/*.pdf key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }} enableCrossOsArchive: true + + - name: Upload results to Codecov + uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0 + with: + token: ${{ secrets.CODECOV_TOKEN }} + fail_ci_if_error: true + files: ./build/coverage/unitcli/lcov.info + flags: unittestcli + name: codecov-umbrella + verbose: true diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml deleted file mode 100644 index fa6004b2d..000000000 --- a/.github/workflows/coverage.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: Code Coverage -on: [push, pull_request] -permissions: - contents: read - -jobs: - test: - name: Test - runs-on: ubuntu-latest - environment: code-coverage - - strategy: - fail-fast: false - matrix: - node-version: [lts/*] - - steps: - - name: Checkout repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - with: - fetch-depth: 0 - persist-credentials: false - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 - with: - node-version: ${{ matrix.node-version }} - cache: 'npm' - - - name: Install dependencies - run: npm ci - - - name: Restore cached PDF files - uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 - with: - path: test/pdfs/*.pdf - key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }} - restore-keys: | - cached-pdf-files- - enableCrossOsArchive: true - - - name: Run CLI unit tests with code coverage - run: npx gulp unittestcli --coverage - - - name: Save cached PDF files - uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 - with: - path: test/pdfs/*.pdf - key: cached-pdf-files-${{ hashFiles('test/pdfs/*.pdf') }} - enableCrossOsArchive: true - - - name: Upload results to Codecov - uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0 - with: - token: ${{ secrets.CODECOV_TOKEN }} - fail_ci_if_error: true - files: ./build/coverage/lcov.info - flags: unittestcli - name: codecov-umbrella - verbose: true