diff --git a/.github/codecov.yml b/.github/codecov.yml new file mode 100644 index 00000000..7737aa6a --- /dev/null +++ b/.github/codecov.yml @@ -0,0 +1,53 @@ +# Codecov configuration for docling-java +# See: https://docs.codecov.com/docs/codecov-yaml + +coverage: + range: 70..100 + status: + project: + default: + target: auto + threshold: 1% + if_not_found: success + docling-core: + target: auto + threshold: 1% + paths: + - "docling-core/src/main/java/**" + if_not_found: success + docling-serve-api: + target: auto + threshold: 1% + paths: + - "docling-serve/docling-serve-api/src/main/java/**" + if_not_found: success + docling-serve-client: + target: auto + threshold: 1% + paths: + - "docling-serve/docling-serve-client/src/main/java/**" + if_not_found: success + docling-testcontainers: + target: auto + threshold: 1% + paths: + - "docling-testcontainers/src/main/java/**" + if_not_found: success + docling-version-tests: + target: auto + threshold: 1% + paths: + - "docling/testing/docling-version-tests/src/main/java/**" + if_not_found: success +comment: + layout: "header,diff,flags,tree,footer" + behavior: default + require_changes: false +ignore: + - "**/*Tests.java" + - "**/*Test.java" + - "**/test/**" + - "docs/**" + - "buildSrc/**" + - "docling-testcontainers/**" + - "docling-testing/**" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 20d8d4ed..7eb1c16e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -77,7 +77,7 @@ jobs: prepare-test-reports: runs-on: ubuntu-latest - if: always() && (github.event_name == 'pull_request') + if: always() && (github.event_name == 'pull_request' || github.event_name == 'push') strategy: fail-fast: false matrix: @@ -107,6 +107,18 @@ jobs: - name: Create aggregated test report run: ./gradlew --no-daemon -Pjava.version=${{ matrix.java }} :test-report-aggregation:check + - name: Upload coverage to Codecov + if: github.repository == 'docling-project/docling-java' && env.CODECOV_TOKEN != '' + uses: codecov/codecov-action@1af58845a975a7985b0beb0cbe6fbbb71a41dbad # v5.5.3 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + with: + files: ./test-report-aggregation/build/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml + flags: java${{ matrix.java }} + name: codecov-java${{ matrix.java }} + fail_ci_if_error: false + token: ${{ secrets.CODECOV_TOKEN }} + - name: Prepare build reports if: always() uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 diff --git a/README.md b/README.md index 139f0600..95110ac0 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ This is the repository for Docling Java, a Java API for using [Docling](https:// [![docling-serve-client version](https://img.shields.io/maven-central/v/ai.docling/docling-serve-client?label=docling-serve-client)](https://docling-project.github.io/docling-java/dev/docling-serve/serve-client/) [![docling-testcontainers version](https://img.shields.io/maven-central/v/ai.docling/docling-testcontainers?label=docling-testcontainers)](https://docling-project.github.io/docling-java/dev/testcontainers/) [![License MIT](https://img.shields.io/github/license/docling-project/docling-java)](https://opensource.org/licenses/MIT) +[![codecov](https://codecov.io/gh/docling-project/docling-java/branch/main/graph/badge.svg)](https://codecov.io/gh/docling-project/docling-java) [![Discord](https://img.shields.io/discord/1399788921306746971?color=6A7EC2&logo=discord&logoColor=ffffff)](https://docling.ai/discord) [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/11397/badge)](https://www.bestpractices.dev/projects/11397) diff --git a/docling-core/README.md b/docling-core/README.md new file mode 100644 index 00000000..890d5ebe --- /dev/null +++ b/docling-core/README.md @@ -0,0 +1,9 @@ +# Docling Core + +[![codecov](https://codecov.io/gh/docling-project/docling-java/branch/main/graph/badge.svg?flag=docling-core)](https://codecov.io/gh/docling-project/docling-java/tree/main/docling-core) + +Core module for Docling Java. + +## Coverage + +View detailed coverage reports for this module on [Codecov](https://codecov.io/gh/docling-project/docling-java/tree/main/docling-core). \ No newline at end of file diff --git a/docling-serve/docling-serve-api/README.md b/docling-serve/docling-serve-api/README.md new file mode 100644 index 00000000..37d04c7f --- /dev/null +++ b/docling-serve/docling-serve-api/README.md @@ -0,0 +1,9 @@ +# Docling Serve API + +[![codecov](https://codecov.io/gh/docling-project/docling-java/branch/main/graph/badge.svg?flag=docling-serve-api)](https://codecov.io/gh/docling-project/docling-java/tree/main/docling-serve/docling-serve-api) + +API module for Docling Serve. + +## Coverage + +View detailed coverage reports for this module on [Codecov](https://codecov.io/gh/docling-project/docling-java/tree/main/docling-serve/docling-serve-api). \ No newline at end of file diff --git a/docling-serve/docling-serve-client/README.md b/docling-serve/docling-serve-client/README.md new file mode 100644 index 00000000..86e42040 --- /dev/null +++ b/docling-serve/docling-serve-client/README.md @@ -0,0 +1,9 @@ +# Docling Serve Client + +[![codecov](https://codecov.io/gh/docling-project/docling-java/branch/main/graph/badge.svg?flag=docling-serve-client)](https://codecov.io/gh/docling-project/docling-java/tree/main/docling-serve/docling-serve-client) + +Client module for Docling Serve. + +## Coverage + +View detailed coverage reports for this module on [Codecov](https://codecov.io/gh/docling-project/docling-java/tree/main/docling-serve/docling-serve-client). \ No newline at end of file diff --git a/docling-testcontainers/README.md b/docling-testcontainers/README.md new file mode 100644 index 00000000..92a43b0e --- /dev/null +++ b/docling-testcontainers/README.md @@ -0,0 +1,9 @@ +# Docling Testcontainers + +[![codecov](https://codecov.io/gh/docling-project/docling-java/branch/main/graph/badge.svg?flag=docling-testcontainers)](https://codecov.io/gh/docling-project/docling-java/tree/main/docling-testcontainers) + +Testcontainers module for Docling Java. + +## Coverage + +View detailed coverage reports for this module on [Codecov](https://codecov.io/gh/docling-project/docling-java/tree/main/docling-testcontainers). diff --git a/docling-testing/docling-version-tests/README.md b/docling-testing/docling-version-tests/README.md index 64d11aa2..9a91e81b 100644 --- a/docling-testing/docling-version-tests/README.md +++ b/docling-testing/docling-version-tests/README.md @@ -1,5 +1,7 @@ # Docling Version Tests +[![codecov](https://codecov.io/gh/docling-project/docling-java/branch/main/graph/badge.svg?flag=docling-version-tests)](https://codecov.io/gh/docling-project/docling-java/tree/main/docling-testing/docling-version-tests) + A [Quarkus](https://quarkus.io)-based command-line application for automated compatibility testing of the [`docling-serve-api`](../../docling-serve/docling-serve-api) client library against multiple versions of the [Docling Serve](https://github.com/docling-project/docling-serve) container image. ## Overview @@ -232,6 +234,10 @@ Example `results.md` excerpt: | v1.12.0 | ❌ FAILURE | [Click for run details](#v1.12.0-details) | ``` +## Coverage + +View detailed coverage reports for this module on [Codecov](https://codecov.io/gh/docling-project/docling-java/tree/main/docling-testing/docling-version-tests). + ## Development ### Project Structure