-
Notifications
You must be signed in to change notification settings - Fork 125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spelling.yml add #311
Spelling.yml add #311
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,206 @@ | ||
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: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I believe we don't need to run spell check for issue comments. |
||
types: | ||
- 'created' | ||
|
||
jobs: | ||
spelling: | ||
name: Check Spelling | ||
permissions: | ||
contents: read | ||
pull-requests: read | ||
actions: read | ||
security-events: write | ||
outputs: | ||
followup: ${{ steps.spelling.outputs.followup }} | ||
internal_state_directory: ${{ steps.spelling.outputs.internal_state_directory }} | ||
docker_container: ${{ steps.spelling.outputs.docker_container }} | ||
env: | ||
workflow_check_commit_messages: commits | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does it check for spelling mistakes in commit messages too ? |
||
runs-on: ubuntu-latest | ||
if: ${{ contains(github.event_name, 'pull_request') || github.event_name == 'push' }} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we need this check ? |
||
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: checkout | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: ${{ !contains(env.workflow_check_commit_messages, 'commits') && '1' || '0' }} | ||
- name: test-clean | ||
shell: bash | ||
run: | ||
cp -R . ../introspected/; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why do we need this step ? |
||
mv ../introspected . | ||
- name: test-merge | ||
if: ${{ contains(github.event_name, 'pull_request') }} | ||
uses: check-spelling/[email protected] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. why do we need this action ? I believe we can remove this step. |
||
with: | ||
path: introspected | ||
- name: check-spelling | ||
if: env.MERGE_FAILED != '1' | ||
id: spelling | ||
uses: ./ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I believe you have to specify the action |
||
with: | ||
suppress_push_for_open_pull_request: 1 | ||
check_file_names: 1 | ||
experimental_path: introspected | ||
spell_check_this: check-spelling/spell-check-this@prerelease | ||
checkout: false | ||
post_comment: 0 | ||
use_magic_file: 1 | ||
report-timing: 1 | ||
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: 10 | ||
# this repository doesn't use php, but the dictionary has fairly good coverage | ||
extra_dictionaries: | ||
cspell:software-terms/dict/softwareTerms.txt | ||
cspell:php/dict/php.txt | ||
cspell:node/node.txt | ||
cspell:python/src/python/python-lib.txt | ||
check_commit_messages: ${{ env.workflow_check_commit_messages }} | ||
ignore-pattern: '[^\p{Ll}\p{Lm}\p{Lt}\p{Lu}]' | ||
upper-pattern: '[\p{Lu}\p{Lt}\p{Lm}]' | ||
lower-pattern: '[\p{Ll}\p{Lm}]' | ||
not-lower-pattern: '[^\p{Ll}\p{Lm}]' | ||
not-upper-or-lower-pattern: '[^\p{Lu}\p{Lt}\p{Lm}]' | ||
punctuation-pattern: "'" | ||
|
||
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: checkout | ||
uses: actions/checkout@v4 | ||
- name: comment | ||
uses: ./ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You have to use |
||
with: | ||
checkout: false | ||
spell_check_this: check-spelling/spell-check-this@prerelease | ||
task: ${{ needs.spelling.outputs.followup }} | ||
internal_state_directory: ${{ needs.spelling.outputs.docker_container && needs.spelling.outputs.internal_state_directory }} | ||
caller_container: ${{ needs.spelling.outputs.docker_container }} | ||
|
||
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: checkout | ||
uses: actions/checkout@v4 | ||
- name: comment | ||
uses: ./ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You have to use check-spelling/check-spelling@main action here |
||
with: | ||
checkout: false | ||
spell_check_this: check-spelling/spell-check-this@prerelease | ||
task: ${{ needs.spelling.outputs.followup }} | ||
internal_state_directory: ${{ needs.spelling.outputs.docker_container && needs.spelling.outputs.internal_state_directory }} | ||
caller_container: ${{ needs.spelling.outputs.docker_container }} | ||
experimental_apply_changes_via_bot: 1 | ||
|
||
update: | ||
name: Update PR | ||
permissions: | ||
contents: write | ||
pull-requests: write | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this job correct the spelling mistakes in the PR? If yes, then I think it is best to leave it to the contributor rather than updating it here. WDYT ? |
||
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: checkout | ||
uses: actions/checkout@v4 | ||
- name: apply spelling updates | ||
uses: ./ | ||
with: | ||
experimental_apply_changes_via_bot: 1 | ||
checkout: false | ||
ssh_key: "${{ secrets.CHECK_SPELLING }}" |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Thsi flie will chekc for spellign erors. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can just use the pull_request trigger like here