name: Perform checks on: pull_request: branches: [ master ] paths: - '**' - '!.github/**' - '!*.yml' - '!*.config' - '!*.md' - '.github/workflows/*.yml' permissions: pull-requests: write checks: write concurrency: group: pr-checks-${{ github.event.number }} cancel-in-progress: true jobs: format: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: actions/setup-dotnet@v4 with: global-json-file: global.json - name: Overwrite csc problem matcher run: echo "::add-matcher::.github/csc.json" - run: dotnet restore - name: Print dotnet format version run: dotnet format --version - name: Run dotnet format whitespace run: | dotnet format whitespace --verify-no-changes --report ./whitespace-report.json -v d # For some unknown reason this step sometimes fails with exit code 139 (segfault?), # so in that case we'll try again (3 tries max). - name: Run dotnet format style uses: TSRBerry/unstable-commands@v1 with: commands: dotnet format style --severity info --verify-no-changes --report ./style-report.json -v d timeout-minutes: 5 retry-codes: 139 # For some unknown reason this step sometimes fails with exit code 139 (segfault?), # so in that case we'll try again (3 tries max). - name: Run dotnet format analyzers uses: TSRBerry/unstable-commands@v1 with: commands: dotnet format analyzers --severity info --verify-no-changes --report ./analyzers-report.json -v d timeout-minutes: 5 retry-codes: 139 - name: Upload report if: failure() uses: actions/upload-artifact@v4 with: name: dotnet-format path: ./*-report.json pr_build: uses: ./.github/workflows/build.yml needs: format secrets: inherit