In GitHub-Aktionen wurden verschiedene Aktionen in Marget Place veröffentlicht. Installieren Sie es einfach und es kann in Ihrem Rails-Projekt verwendet werden. Aber ... wenn Sie es so lassen, wie es ist, werden Sie viele virtuelle Maschinen verwenden, so dass Sie im Handumdrehen Credits in einem privaten Repository verbrauchen ... Also haben wir beschlossen, es für unser Projekt zu machen.
Es wäre schön, wenn ich das gesamte Zielprojekt analysieren und jederzeit sauber halten könnte, aber ich könnte es nicht tun, weil ich es in die Mitte stelle. Daher besteht die Richtlinie darin, zumindest die von jedem ausgegebenen Pull-Anforderungen zu bereinigen.
Der Code, als ich es versuchte, ist hier. https://github.com/ken1flan/test_with_reviewdog
Grob gesagt ist das, was Sie tun, so.
Das statische Analysetool, das reviewdog intern ausführt, ist in .reviewdog.yml
beschrieben.
yml:.github/workflows/code_analysis.yml
name: code_analysis
on: [pull_request]
jobs:
code_analysis:
name: runner
runs-on: ubuntu-latest
env:
REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7.1
- uses: actions/setup-node@v1
with:
node-version: 12.x
- name: cache vendor/bundle
uses: actions/cache@v1
with:
path: vendor/bundle
key: bundle-${{ hashFiles('**/Gemfile.lock') }}
- name: cache node_modules
uses: actions/cache@v1
with:
path: node_modules
key: yarn-${{ hashFiles('**/yarn.lock') }}
- name: bundle install
run: bundle check || bundle install --jobs=4 --retry=3 --path vendor/bundle
- name: yarn install
run: yarn install
- name: install reviewdog
uses: reviewdog/action-setup@v1
- name: reviewdog
run: reviewdog -reporter=github-pr-check
yml:.reviewdog.yml
runner:
rubocop:
cmd: bundle exec rubocop
brakeman:
cmd: bundle exec brakeman --quiet --format tabs
reek:
cmd: bundle exec reek --single-line
haml-lint:
cmd: bundle exec haml-lint
eslint:
cmd: yarn run eslint app/**/*.js
stylelint:
cmd: yarn run stylelint app/**/*.{css,scss}
Gefällt mir Wird ausgegeben. Was in der Pull-Anfrage enthalten ist, wird zur einfachen Anzeige angezeigt. Da "Gefilterte Ergebnisse" alles enthält, was im Projekt enthalten ist, können Sie auch sehen, wie viele Probleme Sie haben, sodass Sie sich darüber Gedanken machen möchten.
GitHubs action / ruby kann die Patch-Version nicht angeben, und die neueste Version wird mit einer leichten Verzögerung verwendet. Ich denke, dass ich die Ruby-Version in der Gemfile spezifiziere, aber sie ist nicht damit kompatibel, und die Version verschiebt sich oft und die Bundle-Installation schlägt fehl.
Ruby / setup-ruby, das von der Ruby-Community verwaltet wird, kann auch die Patch-Version angeben, daher habe ich mich für diese entschieden.
Sie können dies im Voraus überprüfen, indem Sie "reviewdog" auf Ihrem eigenen PC installieren und die folgenden Schritte ausführen.
$ reviewdog --diff='git diff main'
Wenn Sie einen Menschen dazu auffordern, sind Sie und der Prüfer beide glücklich. Fragen Sie am besten eine Maschine. Wenn darauf hingewiesen wird, gibt es zwar viele Fälle, daher ist es hilfreich, einen guten Schreibstil zu erlernen, den ich selbst nicht lernen kann.
Recommended Posts