From 572ceb28a53f656f8de01e39fd5b7649ba3b646e Mon Sep 17 00:00:00 2001 From: CJ42 Date: Fri, 25 Aug 2023 15:03:33 +0100 Subject: [PATCH] replace github action for spellcheck --- .github/workflows/spellcheck.yml | 29 ------- .github/workflows/spelling.yml | 131 +++++++++++++++++++++++++++++++ 2 files changed, 131 insertions(+), 29 deletions(-) delete mode 100644 .github/workflows/spellcheck.yml create mode 100644 .github/workflows/spelling.yml diff --git a/.github/workflows/spellcheck.yml b/.github/workflows/spellcheck.yml deleted file mode 100644 index 3dffd9b5f4..0000000000 --- a/.github/workflows/spellcheck.yml +++ /dev/null @@ -1,29 +0,0 @@ -# This workflow checks for common grammar and spelling mistake in markdown docs files. -name: Spellcheck -on: workflow_dispatch - -jobs: - build: - name: Spellcheck - runs-on: ubuntu-latest - steps: - - name: Checkout 🛎️ - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Install ⚙️ - run: yarn install --frozen-lockfile - - - name: Spellcheck 📝 - uses: rojopolis/spellcheck-github-actions@0.33.0 - with: - source_files: docs/**/*.md docs/**/*.mdx - task_name: Markdown - output_file: spellcheck-output.txt - - - name: Output Spellcheck Results 📝 - uses: actions/upload-artifact@v3 - with: - name: Spellcheck Output - path: spellcheck-output.txt diff --git a/.github/workflows/spelling.yml b/.github/workflows/spelling.yml new file mode 100644 index 0000000000..48b221bc87 --- /dev/null +++ b/.github/workflows/spelling.yml @@ -0,0 +1,131 @@ +# This action checks the grammar and spelling of your code. +# Taken from: +# - https://github.com/check-spelling/spell-check-this/blob/main/.github/workflows/spelling.yml +# - https://github.com/marketplace/actions/check-spelling +name: Check Spelling + +# Comment management is handled through a secondary job, for details see: +# https://github.com/check-spelling/check-spelling/wiki/Feature%3A-Restricted-Permissions +# +# `jobs.comment-push` runs when a push is made to a repository and the `jobs.spelling` job needs to make a comment +# (in odd cases, it might actually run just to collapse a comment, but that's fairly rare) +# it needs `contents: write` in order to add a comment. +# +# `jobs.comment-pr` runs when a pull_request is made to a repository and the `jobs.spelling` job needs to make a comment +# or collapse a comment (in the case where it had previously made a comment and now no longer needs to show a comment) +# it needs `pull-requests: write` in order to manipulate those comments. + +# Updating pull request branches is managed via comment handling. +# For details, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-expect-list +# +# These elements work together to make it happen: +# +# `on.issue_comment` +# This event listens to comments by users asking to update the metadata. +# +# `jobs.update` +# This job runs in response to an issue_comment and will push a new commit +# to update the spelling metadata. +# +# `with.experimental_apply_changes_via_bot` +# Tells the action to support and generate messages that enable it +# to make a commit to update the spelling metadata. +# +# `with.ssh_key` +# In order to trigger workflows when the commit is made, you can provide a +# secret (typically, a write-enabled github deploy key). +# +# For background, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-with-deploy-key + +on: + workflow_dispatch: + pull_request: + branches: + - '**' + +jobs: + spelling: + name: Check Spelling + permissions: + contents: read + pull-requests: read + actions: read + security-events: write + outputs: + followup: ${{ steps.spelling.outputs.followup }} + runs-on: ubuntu-latest + if: "contains(github.event_name, 'pull_request') || github.event_name == 'push'" + concurrency: + group: spelling-${{ github.event.pull_request.number || github.ref }} + # note: If you use only_check_changed_files, you do not want cancel-in-progress + cancel-in-progress: true + steps: + - name: check-spelling + id: spelling + uses: check-spelling/check-spelling@main + with: + suppress_push_for_open_pull_request: 1 + checkout: true + check_file_names: 1 + spell_check_this: check-spelling/spell-check-this@prerelease + post_comment: 0 + use_magic_file: 1 + experimental_apply_changes_via_bot: 1 + use_sarif: 1 + extra_dictionary_limit: 10 + + comment-push: + name: Report (Push) + # If your workflow isn't running on push, you can remove this job + runs-on: ubuntu-latest + needs: spelling + permissions: + contents: write + if: (success() || failure()) && needs.spelling.outputs.followup && github.event_name == 'push' + steps: + - name: comment + uses: check-spelling/check-spelling@main + with: + checkout: true + spell_check_this: check-spelling/spell-check-this@prerelease + task: ${{ needs.spelling.outputs.followup }} + + comment-pr: + name: Report (PR) + # If you workflow isn't running on pull_request*, you can remove this job + runs-on: ubuntu-latest + needs: spelling + permissions: + pull-requests: write + if: (success() || failure()) && needs.spelling.outputs.followup && contains(github.event_name, 'pull_request') + steps: + - name: comment + uses: check-spelling/check-spelling@main + with: + checkout: true + spell_check_this: check-spelling/spell-check-this@prerelease + task: ${{ needs.spelling.outputs.followup }} + experimental_apply_changes_via_bot: 1 + + update: + name: Update PR + permissions: + contents: write + pull-requests: write + actions: read + runs-on: ubuntu-latest + if: ${{ + github.event_name == 'issue_comment' && + github.event.issue.pull_request && + contains(github.event.comment.body, '@check-spelling-bot apply') + }} + concurrency: + group: spelling-update-${{ github.event.issue.number }} + cancel-in-progress: false + steps: + - name: apply spelling updates + uses: check-spelling/check-spelling@main + with: + experimental_apply_changes_via_bot: 1 + checkout: true + ssh_key: '${{ secrets.CHECK_SPELLING }}'