From 45a65d3e0824ddcbd547be15e74288bcc5172a54 Mon Sep 17 00:00:00 2001 From: Anton Volkov Date: Thu, 30 Oct 2025 13:28:36 +0100 Subject: [PATCH 1/5] Use GH action to upload the coverage data to coveralls.io --- .github/workflows/generate_coverage.yaml | 32 +++--------------------- 1 file changed, 3 insertions(+), 29 deletions(-) diff --git a/.github/workflows/generate_coverage.yaml b/.github/workflows/generate_coverage.yaml index 18b8dda71e70..fa0c560f3396 100644 --- a/.github/workflows/generate_coverage.yaml +++ b/.github/workflows/generate_coverage.yaml @@ -142,32 +142,6 @@ jobs: echo "Total number of coverage attempts: ${{ steps.build_coverage.outputs.total_attempts }}" - name: Upload coverage data to coveralls.io - run: | - echo "Processing pytest-coverage" - export DPNP_PYTEST_LCOV=$(find . -name dpnp_pytest.lcov) - coveralls-lcov -v -n $DPNP_PYTEST_LCOV > pytest-dpnp-c-api-coverage.json - - # merge file with coverage data and upload - echo "Merging files with coverage data" - coveralls --service=github --merge=pytest-dpnp-c-api-coverage.json - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - COVERALLS_PARALLEL: true - - coveralls: - name: Indicate completion to coveralls.io - - needs: generate-coverage - - runs-on: ubuntu-latest - timeout-minutes: 10 - - container: python:3-slim - - steps: - - name: Finished - run: | - pip3 install --upgrade coveralls==3.3.1 - coveralls --service=github --finish - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2.3.6 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} From b914fd90ee8fd5f41b03608436c9f0e04eb16c9c Mon Sep 17 00:00:00 2001 From: Anton Volkov Date: Thu, 30 Oct 2025 15:44:21 +0100 Subject: [PATCH 2/5] Generate coverage-python.lcov directly with pytest --- scripts/gen_coverage.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/gen_coverage.py b/scripts/gen_coverage.py index 489b3201c093..f11e7cf50e3d 100644 --- a/scripts/gen_coverage.py +++ b/scripts/gen_coverage.py @@ -96,8 +96,7 @@ def run( "pyproject.toml", "--cov", "dpnp", - "--cov-report", - "term-missing", + "--cov-report=lcov:coverage-python.lcov", "--pyargs", "dpnp", *pytest_opts.split(), @@ -136,7 +135,7 @@ def find_objects(): ) # export lcov - with open("dpnp_pytest.lcov", "w") as fh: + with open("coverage-cpp.lcov", "w") as fh: subprocess.check_call( [ os.path.join(bin_llvm, "llvm-cov"), From c76506a3c55f74576002c550ab9136e20161c000 Mon Sep 17 00:00:00 2001 From: Anton Volkov Date: Thu, 30 Oct 2025 18:32:13 +0100 Subject: [PATCH 3/5] No need to install Lcov --- .github/workflows/generate_coverage.yaml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/generate_coverage.yaml b/.github/workflows/generate_coverage.yaml index fa0c560f3396..5697c423589a 100644 --- a/.github/workflows/generate_coverage.yaml +++ b/.github/workflows/generate_coverage.yaml @@ -57,11 +57,6 @@ jobs: intel-oneapi-libdpstd-devel \ intel-oneapi-compiler-dpcpp-cpp - - name: Install Lcov - run: | - sudo apt-get install lcov - sudo gem install coveralls-lcov - - name: Checkout repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: From 49b98687f07c474a945881b26606e1fef367dde7 Mon Sep 17 00:00:00 2001 From: Anton Volkov Date: Tue, 4 Nov 2025 11:38:00 +0100 Subject: [PATCH 4/5] Keep verbose output from the coverage report --- scripts/gen_coverage.py | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/gen_coverage.py b/scripts/gen_coverage.py index f11e7cf50e3d..b49cf4cc9032 100644 --- a/scripts/gen_coverage.py +++ b/scripts/gen_coverage.py @@ -96,6 +96,7 @@ def run( "pyproject.toml", "--cov", "dpnp", + "--cov-report=term-missing", "--cov-report=lcov:coverage-python.lcov", "--pyargs", "dpnp", From 56effc17ba6fc9efbe1a59b4e1b96f681828403f Mon Sep 17 00:00:00 2001 From: Anton Volkov Date: Tue, 4 Nov 2025 11:38:53 +0100 Subject: [PATCH 5/5] Update .gitignore to hide files produces by the coverage run --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 0188b5019d0e..5d2725d3186f 100644 --- a/.gitignore +++ b/.gitignore @@ -16,7 +16,10 @@ doc/reference/*.inc .vscode # Files from test of code coverage -coverage.xml +.coverage +*.lcov +dpnp/**/*.cxx +dpnp_pytest.* # Backup files kept after git merge/rebase *.orig