Merge pull request 'ci: add JaCoCo coverage gate and Gitea CI pipeline' (#24) from issue-14/jacoco-ci-pipeline into master

Reviewed-on: #24
This commit was merged in pull request #24.
This commit is contained in:
2026-03-27 15:41:41 +00:00
2 changed files with 64 additions and 0 deletions

30
.gitea/workflows/ci.yaml Normal file
View File

@@ -0,0 +1,30 @@
name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up JDK 16
uses: actions/setup-java@v4
with:
java-version: '16'
distribution: 'temurin'
- name: Build and test with coverage
run: mvn verify --batch-mode
- name: Upload coverage report
if: always()
uses: actions/upload-artifact@v4
with:
name: jacoco-report
path: target/site/jacoco/

34
pom.xml
View File

@@ -25,6 +25,40 @@
<artifactId>maven-surefire-plugin</artifactId>
<version>3.2.5</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.11</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
<goal>report</goal>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>
<!-- UI classes require a display and cannot be unit-tested -->
<exclude>ovh/gasser/newshapes/App.class</exclude>
<exclude>ovh/gasser/newshapes/ui/**</exclude>
<exclude>ovh/gasser/newshapes/Selection.class</exclude>
</excludes>
<rules>
<rule>
<element>BUNDLE</element>
<limits>
<limit>
<counter>LINE</counter>
<value>COVEREDRATIO</value>
<minimum>0.50</minimum>
</limit>
</limits>
</rule>
</rules>
</configuration>
</plugin>
</plugins>
</build>