diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index f70d198bd3..9a15ced5ac 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -22,21 +22,10 @@ jobs: - run: git show --no-patch # the commit being tested (which is often a merge due to actions/checkout@v3) - - name: prettier - uses: EPMatt/reviewdog-action-prettier@v1 + - uses: reviewdog/action-setup@v1 with: - github_token: ${{ secrets.github_token }} - reporter: github-pr-check - level: error - filter_mode: nofilter - fail_on_error: true + reviewdog_version: v0.21.0 - - name: rubocop - uses: reviewdog/action-rubocop@v2 - with: - skip_install: true - reporter: github-pr-check - level: error - filter_mode: nofilter - use_bundler: true - fail_level: any + - run: ./script/reviewdog.sh + env: + REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.github_token }} diff --git a/script/reviewdog.sh b/script/reviewdog.sh new file mode 100755 index 0000000000..33e9432f4b --- /dev/null +++ b/script/reviewdog.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +# +# Runs linters and pipes their output to reviewdog so it annotates a pull request with the issues found +# + +set -eo pipefail + +echo "::group:: Running prettier with reviewdog 🐶 ..." + +"$(npm root)/.bin/prettier" --check . 2>&1 | sed --regexp-extended 's/(\[warn\].*)$/\1 File is not properly formatted./' \ + | reviewdog \ + -efm="%-G[warn] Code style issues found in the above file(s). Forgot to run Prettier%. File is not properly formatted." \ + -efm="[%tarn] %f %m" \ + -efm="%E[%trror] %f: %m (%l:%c)" \ + -efm="%C[error]%r" \ + -efm="%Z[error]%r" \ + -efm="%-G%r" \ + -name="prettier" \ + -reporter="github-pr-check" \ + -filter-mode="nofilter" \ + -fail-level="any" \ + -level="error" \ + -tee + +echo "::group:: Running rubocop with reviewdog 🐶 ..." + +bundle exec rubocop \ + --fail-level info \ + | reviewdog -f="rubocop" \ + -name="rubocop" \ + -reporter="github-pr-check" \ + -filter-mode="nofilter" \ + -level="error" \ + -fail-level="any" \ + -tee