diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index f9f1168..e3783e5 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -2,13 +2,17 @@ name: Build
on:
push:
- branches: [ "master" ]
+ branches:
+ - master
pull_request:
- branches: [ "master" ]
+ types: [opened, synchronize, reopened]
schedule:
- cron: "0 3 * * 0-6"
workflow_dispatch:
+permissions:
+ checks: write
+
jobs:
build:
@@ -16,18 +20,27 @@ jobs:
steps:
- uses: actions/checkout@v3
+
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: maven
+
- name: Compile and Unit tests (headless for GUI)
uses: GabrielBB/xvfb-action@v1.6
with:
run: mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install
+
- name: Quality gate
run: mvn --batch-mode org.sonarsource.scanner.maven:sonar-maven-plugin:sonar
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
+
+ - name: Run mutation testing
+ run: mvn clean test-compile org.pitest:pitest-maven:mutationCoverage
+
+ - name: Compute and check tests strength
+ uses: teemoo7/mutation-testing-report-action@v0.1
diff --git a/pom.xml b/pom.xml
index 2071ca1..fc12d28 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,6 +30,7 @@
3.2.0
3.0.0-M7
0.8.8
+ 1.9.0
3.4.1
4.0.0-M3
4.7.2.0
@@ -253,6 +254,34 @@
+
+
+ org.pitest
+ pitest-maven
+ ${maven.plugin.pitest.version}
+
+
+ ch.teemoo.bobby.*
+
+
+ ch.teemoo.bobby.*
+
+
+ *.gui.*
+
+
+ *.gui.*
+ *IT
+ *SwingTest
+ *FactoryTest
+
+
+ XML
+
+ false
+ 2
+
+