From 201461918d2b89015855b1fae24f6273c3cd78cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= <2887858+deivid-rodriguez@users.noreply.github.com> Date: Wed, 29 Oct 2025 11:39:02 +0100 Subject: [PATCH 1/6] Fix prettier offense I accidentally introduced this, not sure how, when correcting all prettier issues. --- app/webpacker/css/admin/products_v3.scss | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/webpacker/css/admin/products_v3.scss b/app/webpacker/css/admin/products_v3.scss index 4dd6331775..9944f515af 100644 --- a/app/webpacker/css/admin/products_v3.scss +++ b/app/webpacker/css/admin/products_v3.scss @@ -184,9 +184,8 @@ } // Hide columns - $columns: - "image", "name", "sku", "unit_scale", "unit", "price", "on_hand", "producer", "category", - "tax_category", "tags", "inherits_properties"; + $columns: "image", "name", "sku", "unit_scale", "unit", "price", "on_hand", "producer", + "category", "tax_category", "tags", "inherits_properties"; @each $col in $columns { &.hide-#{$col} { .col-#{$col} { From 2e78ea62b62df904cc4722c2a6aba5e915fa5c85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= <2887858+deivid-rodriguez@users.noreply.github.com> Date: Wed, 29 Oct 2025 11:10:39 +0100 Subject: [PATCH 2/6] Change linters workflow label to reviewdog --- .github/workflows/linters.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index affe8d9d13..bf056866df 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -5,7 +5,7 @@ permissions: checks: write # to post check annotations jobs: lint: - name: prettier and rubocop + name: reviewdog runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 From 65410aabad30e6b9b468aaf2386ec3f05b957393 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= <2887858+deivid-rodriguez@users.noreply.github.com> Date: Wed, 29 Oct 2025 11:13:47 +0100 Subject: [PATCH 3/6] Speed up rubocop reviewdog by skipping install Since we already run `bundle install` at the beginning of the job. --- .github/workflows/linters.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index bf056866df..ce40061c6b 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -33,8 +33,7 @@ jobs: - name: rubocop uses: reviewdog/action-rubocop@v2 with: - rubocop_version: gemfile - rubocop_extensions: rubocop-rails:gemfile rubocop-rspec:gemfile + skip_install: true reporter: github-pr-check level: error filter_mode: nofilter From 5af6d534df5ddb22dc3d8e4d08fa6c544553d55b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= <2887858+deivid-rodriguez@users.noreply.github.com> Date: Wed, 29 Oct 2025 11:15:15 +0100 Subject: [PATCH 4/6] Use "nofilter" for prettier Now that we fixed all prettier issues. --- .github/workflows/linters.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index ce40061c6b..f70d198bd3 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -28,6 +28,7 @@ jobs: github_token: ${{ secrets.github_token }} reporter: github-pr-check level: error + filter_mode: nofilter fail_on_error: true - name: rubocop From 404e27ab71484899f4002b11a37e8d903c0c7354 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= <2887858+deivid-rodriguez@users.noreply.github.com> Date: Wed, 29 Oct 2025 11:23:04 +0100 Subject: [PATCH 5/6] Run reviewdog directly So that we can control the version we run without depending on external actions, and so that we use a consistent version for all linters. At the same time, unify to running the latest version of reviewdog, 0.21.0, which also involves changing the deprecated `fail_on_error` flag previously used by prettier action to `fail_level`. --- .github/workflows/linters.yml | 21 +++++--------------- script/reviewdog.sh | 36 +++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 16 deletions(-) create mode 100755 script/reviewdog.sh 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 From e90569bdcc947050c609203e1c2e7a620338c8be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= <2887858+deivid-rodriguez@users.noreply.github.com> Date: Wed, 29 Oct 2025 11:36:02 +0100 Subject: [PATCH 6/6] Adjust error format to latest prettier output To avoid generating an unnecessary annotation. --- script/reviewdog.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/reviewdog.sh b/script/reviewdog.sh index 33e9432f4b..b3bb93872f 100755 --- a/script/reviewdog.sh +++ b/script/reviewdog.sh @@ -10,7 +10,7 @@ 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="%-G[warn] Code style issues found in %s. Run Prettier to fix. File is not properly formatted." \ -efm="[%tarn] %f %m" \ -efm="%E[%trror] %f: %m (%l:%c)" \ -efm="%C[error]%r" \