name: Analysis on: push: branches: - master - next pull_request: jobs: analysis: name: Static Analysis runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis - name: Cache SonarCloud packages uses: actions/cache@v1 with: path: ~/sonar/cache key: ${{ runner.os }}-sonar restore-keys: ${{ runner.os }}-sonar - name: Cache SonarCloud scanner id: cache-sonar-scanner uses: actions/cache@v1 with: path: ~/.sonar/scanner key: ${{ runner.os }}-sonar-scanner restore-keys: ${{ runner.os }}-sonar-scanner - name: Install SonarCloud scanner if: steps.cache-sonar-scanner.outputs.cache-hit != 'true' shell: bash run: | cd back mkdir -p ~/.sonar/scanner dotnet tool update dotnet-sonarscanner --tool-path ~/.sonar/scanner - name: Wait for tests to run (Push) uses: lewagon/wait-on-check-action@master if: github.event_name != 'pull_request' with: ref: ${{github.ref}} check-name: "Back tests" repo-token: ${{secrets.GITHUB_TOKEN}} running-workflow-name: analysis allowed-conclusions: success,skipped,cancelled,neutral,failure - name: Wait for tests to run (PR) uses: lewagon/wait-on-check-action@master if: github.event_name == 'pull_request' with: ref: ${{github.event.pull_request.head.sha}} check-name: "Back tests" repo-token: ${{secrets.GITHUB_TOKEN}} running-workflow-name: analysis allowed-conclusions: success,skipped,cancelled,neutral,failure - name: Download coverage report uses: dawidd6/action-download-artifact@v2 with: commit: ${{env.COMMIT_SHA}} workflow: tests.yml github_token: ${{secrets.GITHUB_TOKEN}} - name: Build and analyze env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} shell: bash run: | cp -r results.xml/ coverage.xml/ back/ cd back find . -name 'coverage.opencover.xml' dotnet build-server shutdown ~/.sonar/scanner/dotnet-sonarscanner begin \ -k:"AnonymusRaccoon_Kyoo" \ -o:"anonymus-raccoon" \ -d:sonar.login="${{ secrets.SONAR_TOKEN }}" \ -d:sonar.host.url="https://sonarcloud.io" \ -d:sonar.cs.opencover.reportsPaths="**/coverage.opencover.xml" \ -d:sonar.cs.vstest.reportsPaths="**/TestOutputResults.xml" dotnet build --no-incremental '-p:SkipTranscoder=true' ~/.sonar/scanner/dotnet-sonarscanner end -d:sonar.login="${{ secrets.SONAR_TOKEN }}"