diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml new file mode 100644 index 000000000..c17341f4d --- /dev/null +++ b/.github/workflows/sonarcloud.yml @@ -0,0 +1,44 @@ +name: SonarCloud Analysis + +on: + push: + branches: [ main, master, develop, sonarqube ] + pull_request: + branches: [ main, master ] + +jobs: + sonarcloud: + name: SonarCloud Analysis + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Shallow clones should be disabled for better analysis + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + + - 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: Build and analyze with Maven + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=your-project-key \ No newline at end of file diff --git a/pom.xml b/pom.xml index 1dbccf016..34a73d747 100644 --- a/pom.xml +++ b/pom.xml @@ -37,6 +37,27 @@ 0.0.11 0.0.46 + + mtech-software-solutions + https://sonarcloud.io + mtech-software-solutions + spring-petclinic + + + + **/config/**, + **/dto/**, + **/entity/**, + **/exception/**, + **/*Application.java, + **/target/** + + + + + **/test/** + + @@ -265,6 +286,11 @@ + + org.sonarsource.scanner.maven + sonar-maven-plugin + 3.10.0.2594 +