-
Notifications
You must be signed in to change notification settings - Fork 79
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #941 from mlcommons/feature/spellchecker
Spellchecker action
- Loading branch information
Showing
14 changed files
with
942 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,186 @@ | ||
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 | ||
|
||
# Sarif reporting | ||
# | ||
# Access to Sarif reports is generally restricted (by GitHub) to members of the repository. | ||
# | ||
# Requires enabling `security-events: write` | ||
# and configuring the action with `use_sarif: 1` | ||
# | ||
# For information on the feature, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Sarif-output | ||
|
||
# Minimal workflow structure: | ||
# | ||
# on: | ||
# push: | ||
# ... | ||
# pull_request_target: | ||
# ... | ||
# jobs: | ||
# # you only want the spelling job, all others should be omitted | ||
# spelling: | ||
# # remove `security-events: write` and `use_sarif: 1` | ||
# # remove `experimental_apply_changes_via_bot: 1` | ||
# ... otherwise adjust the `with:` as you wish | ||
|
||
on: | ||
push: | ||
branches: | ||
- "**" | ||
tags-ignore: | ||
- "**" | ||
pull_request_target: | ||
branches: | ||
- "**" | ||
types: | ||
- 'opened' | ||
- 'reopened' | ||
- 'synchronize' | ||
issue_comment: | ||
types: | ||
- 'created' | ||
|
||
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: | ||
config: .spelling | ||
checkout: true | ||
check_file_names: 1 | ||
spell_check_this: check-spelling/spell-check-this@prerelease | ||
post_comment: 0 | ||
use_magic_file: 1 | ||
report-timing: 1 | ||
warnings: bad-regex,binary-file,deprecated-feature,large-file,limited-references,no-newline-at-eof,noisy-file,non-alpha-in-dictionary,token-is-substring,unexpected-line-ending,whitespace-in-dictionary,minified-file,unsupported-configuration,no-files-to-check | ||
experimental_apply_changes_via_bot: 1 | ||
use_sarif: ${{ (!github.event.pull_request || (github.event.pull_request.head.repo.full_name == github.repository)) && 1 }} | ||
extra_dictionary_limit: 20 | ||
extra_dictionaries: | ||
cspell:software-terms/dict/softwareTerms.txt | ||
cspell:python/src/python/python-lib.txt | ||
cspell:python/src/python/python.txt | ||
cspell:python/src/common/extra.txt | ||
cspell:php/dict/php.txt | ||
cspell:r/src/r.txt | ||
cspell:aws/aws.txt | ||
cspell:django/dict/django.txt | ||
cspell:filetypes/filetypes.txt | ||
cspell:node/dict/node.txt | ||
cspell:golang/dict/go.txt | ||
cspell:fullstack/dict/fullstack.txt | ||
cspell:java/src/java.txt | ||
cspell:k8s/dict/k8s.txt | ||
cspell:css/dict/css.txt | ||
cspell:npm/dict/npm.txt | ||
cspell:latex/dict/latex.txt | ||
cspell:latex/samples/sample-words.txt | ||
cspell:html-symbol-entities/entities.txt | ||
cspell:html/dict/html.txt | ||
cspell:cpp/src/ecosystem.txt | ||
cspell:mnemonics/src/mnemonics.txt | ||
|
||
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: | ||
contents: read | ||
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 }}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.