# This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by # separate terms of service, privacy policy, and support # documentation. # This workflow helps you trigger a SonarQube analysis of your code and populates # GitHub Code Scanning alerts with the vulnerabilities found. # (this feature is available starting from SonarQube 9.7, Developer Edition and above) # 1. Make sure you add a valid GitHub configuration to your SonarQube (Administration > DevOps platforms > GitHub) # 2. Import your project on SonarQube # * Add your repository as a new project by clicking "Create project" from your homepage. # # 3. Select GitHub Actions as your CI and follow the tutorial # * a. Generate a new token and add it to your GitHub repository's secrets using the name SONAR_TOKEN # (On SonarQube, click on your avatar on top-right > My account > Security or ask your administrator) # # * b. Copy/paste your SonarQube host URL to your GitHub repository's secrets using the name SONAR_HOST_URL # # * c. Copy/paste the project Key into the args parameter below # (You'll find this information in SonarQube by following the tutorial or by clicking on Project Information at the top-right of your project's homepage) # Feel free to take a look at our documentation (https://docs.sonarqube.org/latest/analysis/github-integration/) # or reach out to our community forum if you need some help (https://community.sonarsource.com/c/sq/10) name: SonarQube analysis on: push: branches: [ "dev" ] pull_request: branches: [ "main", "dev" ] workflow_dispatch: permissions: pull-requests: read # allows SonarQube to decorate PRs with analysis results jobs: sonar-scanner: if: github.repository == 'bayselonarrend/OpenIntegrations' runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v1 with: fetch-depth: 0 - name: Setup sonarqube uses: warchant/setup-sonar-scanner@v3 - name: Run SonarQube on push if: github.event_name == 'push' env: GITHUB_TOKEN: ${{ secrets.TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: sonar-scanner -Dsonar.login=${{ secrets.SONAR_TOKEN }} -Dsonar.host.url=https://api.athenaeum.digital/Sonar - name: Run SonarQube on pull request if: github.event_name == 'pull_request' env: GITHUB_TOKEN: ${{ secrets.TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: sonar-scanner -Dsonar.login=${{ secrets.SONAR_TOKEN }} -Dsonar.host.url=https://api.athenaeum.digital/Sonar -Dsonar.pullrequest.key=${{ github.event.pull_request.number }} -Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }} -Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }} -Dsonar.scm.revision=${{ github.event.pull_request.head.sha }}