name: Integration Tests SonarQube Scan
on:
  push:
    branches:
      - main
  pull_request:
    types: [ opened, synchronize, reopened ]
jobs:
  build:
    name: Integration Tests SonarQube Scan
    runs-on: ubuntu-latest
    permissions:
      id-token: write
      contents: write
    steps:
      - name: CheckOut
        uses: actions/checkout@v5
        with:
          fetch-depth: 0  # Shallow clones should be disabled for a better relevancy of analysis
      - name: Set up JDK 17
        uses: actions/setup-java@v5
        with:
          distribution: temurin
          java-version: 17
      - name: Cache local Maven repository
        uses: actions/cache@v4
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-maven-
      - name: Configure Git user
        run: |
          git config --global user.email jenkins@pluto.tv
          git config --global user.name JenkinsPTV
      - name: Build and analyze
        env:
          SONAR_HOST_URL: https://sonarde.vmn.io
        run: mvn -s settings.xml clean compile test-compile sonar:sonar -U -Dmtvi_nexus_username="${{ secrets.MTVI_NEXUS_USERID }}" -Dmtvi_nexus_password="${{ secrets.MTVI_NEXUS_PASSWORD }}" -Dsonar.token=${{ secrets.SONARQUBE_TOKEN_PARAMOUNT }}
        working-directory: ./integration-test/