ci: add JaCoCo coverage gate and Gitea CI pipeline

- Add JaCoCo maven plugin (0.8.11) with prepare-agent, report, and check goals
- Set 50% bundle-level line coverage gate (to be raised as test coverage grows)
- Exclude UI classes (App, Controller, ShapesView, etc.) from coverage checks
  since they require a display and cannot be unit-tested
- Add Gitea Actions workflow: checkout → JDK 16 → mvn verify → upload report

Closes #14
This commit is contained in:
2026-03-27 16:37:20 +01:00
committed by Thibaud Gasser
parent ba37b199de
commit 651cc4459e
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/