diff --git a/.github/workflows/quality.yaml b/.github/workflows/quality.yaml new file mode 100644 index 0000000..720575c --- /dev/null +++ b/.github/workflows/quality.yaml @@ -0,0 +1,39 @@ +name: Test and Sonar Analysis +on: + pull_request: + types: [opened, synchronize, reopened] + push: + branches: + - main +jobs: + test-build: + name: build & test & analyze + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + - name: Cache SonarCloud packages + uses: actions/cache@v4 + with: + path: ~/.sonar/cache + key: ${{ runner.os }}-sonar + restore-keys: ${{ runner.os }}-sonar + - name: Cache Maven packages + uses: actions/cache@v4 + with: + path: ~/.m2 + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-m2 + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'temurin' + - name: Run unit tests + run: mvn -B clean test + - name: Run Sonar + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + run: mvn -X -B clean verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Pcoverage \ No newline at end of file diff --git a/pom.xml b/pom.xml index 6860274..04e3b8b 100644 --- a/pom.xml +++ b/pom.xml @@ -25,6 +25,10 @@ 5.0.0-M3 2.3.0 0.8.12 + + inseefr + https://sonarcloud.io + InseeFr_Magma