diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
new file mode 100644
index 0000000..5ff7639
--- /dev/null
+++ b/.github/workflows/maven.yml
@@ -0,0 +1,36 @@
+name: Maven CI
+
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ branches:
+ - main
+
+permissions:
+ contents: read
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Set up JDK 21
+ uses: actions/setup-java@v4
+ with:
+ distribution: temurin
+ java-version: "21"
+ cache: maven
+
+ - name: Compile project
+ run: ./mvnw -B -DskipTests compile
+
+ - name: Run unit tests
+ run: ./mvnw -B test
+
+ - name: Validate code quality and JaCoCo coverage
+ run: ./mvnw -B verify
diff --git a/pom.xml b/pom.xml
index 1eec9e5..0d3fc2c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,6 +29,7 @@
21
1.5.5.Final
+ 0.70
@@ -170,6 +171,7 @@
check
+ verify
check
@@ -181,7 +183,7 @@
INSTRUCTION
COVEREDRATIO
- 0.00
+ ${jacoco.coverage.minimum}