You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
recyclarr/.github/workflows/inspect-code.yml

85 lines
2.2 KiB

# 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
resharperVersion: 2023.3.0-eap08
jobs:
inspect:
name: Resharper Inspect Code
runs-on: ubuntu-latest
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
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:
version: ${{ env.resharperVersion }}
solutionPath: Recyclarr.sln
minimumSeverity: warning
include: '**.cs'
cleanup:
name: Resharper Code Cleanup
runs-on: ubuntu-latest
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
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
--version "${{ env.resharperVersion }}"
- 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'