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 + +