# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json name: Inspect Code on: push: # Explicitly specifying this results in tags being ignored, which is the goal. branches: ["**"] paths: - .github/workflows/inspect-code.yml - '**.cs' pull_request: paths: - .github/workflows/inspect-code.yml - '**.cs' env: baseRef: ${{ github.ref == 'refs/heads/master' && github.event.before || (github.event.base_ref || github.event.pull_request.base.ref || 'master') }} dotnetVersion: 8.0.x jobs: inspect: name: Resharper Inspect Code runs-on: ubuntu-latest steps: - name: Checkout Source Code uses: actions/checkout@v3 with: fetch-depth: 0 # avoid shallow clone for GitVersion - name: Setup .NET uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ env.dotnetVersion }} - name: Restore run: dotnet restore - name: Inspect Code uses: muno92/resharper_inspectcode@v1 with: solutionPath: Recyclarr.sln minimumSeverity: warning include: '**.cs' cleanup: name: Resharper Code Cleanup runs-on: ubuntu-latest steps: - name: Checkout Source Code uses: actions/checkout@v3 with: fetch-depth: 0 # avoid shallow clone for GitVersion - name: Setup .NET uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ env.dotnetVersion }} - name: Install Resharper Tools run: dotnet tool install -g JetBrains.ReSharper.GlobalTools - name: Build run: dotnet build - name: Run Code Cleanup run: ../ci/code_cleanup.sh "${{ env.baseRef }}" - name: Check Diff run: | ci/diff_to_errors.sh set -o pipefail git diff --exit-code | tee code-cleanup.patch - name: Publish Patch File uses: actions/upload-artifact@v3 if: failure() with: name: code-cleanup-patch-files path: '*.patch'