From df62f2deb338f4885c9cb5b5d50bad980a315847 Mon Sep 17 00:00:00 2001 From: Claas Augner <495429+caugner@users.noreply.github.com> Date: Fri, 29 Nov 2024 13:02:30 +0100 Subject: [PATCH] enhance(workflows): suggest fixes with reviewdog (#25154) Adds a new workflow that runs `npm run fix` and suggests changes on the PR. For security reasons, we run `npm ci` and `npm run fix` in a job without permissions, and pass the diff as an artifact to a separate job with elevated permissions. --- .github/workflows/pr-reviewdog.yml | 63 ++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .github/workflows/pr-reviewdog.yml diff --git a/.github/workflows/pr-reviewdog.yml b/.github/workflows/pr-reviewdog.yml new file mode 100644 index 00000000000000..d2c85e51013586 --- /dev/null +++ b/.github/workflows/pr-reviewdog.yml @@ -0,0 +1,63 @@ +name: Reviewdog + +on: + pull_request_target: + branches: ["main"] + +jobs: + fix: + name: Fix + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + with: + node-version-file: ".nvmrc" + cache: npm + + - run: npm ci + + - run: npm run fix + env: + FORCE_COLOR: 3 + + - run: git diff > diff.patch + + - name: Upload diff + uses: actions/upload-artifact@v4 + with: + name: diff + path: diff.patch + + suggest: + name: Suggest + needs: fix + runs-on: ubuntu-latest + permissions: + pull-requests: write + + steps: + - uses: actions/checkout@v4 + + - name: Download diff + uses: actions/download-artifact@v4 + with: + name: diff + + - name: Setup + uses: reviewdog/action-setup@v1 + with: + reviewdog_version: latest + + - name: Suggest changes + env: + REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + cat diff.patch | reviewdog \ + -name="bcd-linter" \ + -f=diff \ + -f.diff.strip=1 \ + -filter-mode=diff_context \ + -reporter=github-pr-review