mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-12-25 14:27:28 -05:00
66 lines
2.5 KiB
YAML
66 lines
2.5 KiB
YAML
name: Analysis
|
|
on: [push, pull_request, workflow_dispatch]
|
|
|
|
jobs:
|
|
analysis:
|
|
name: Static Analysis
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
|
|
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: |
|
|
mkdir -p ./.sonar/scanner
|
|
dotnet tool update dotnet-sonarscanner --tool-path ./.sonar/scanner
|
|
- name: Wait for tests to run
|
|
uses: lewagon/wait-on-check-action@master
|
|
with:
|
|
ref: ${{github.ref}}
|
|
check-name: 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: |
|
|
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;SkipWebApp=true'
|
|
|
|
./.sonar/scanner/dotnet-sonarscanner end -d:sonar.login="${{ secrets.SONAR_TOKEN }}"
|