-
Notifications
You must be signed in to change notification settings - Fork 316
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
feat(actions): add pre-commit
framework with codespell
#191
base: trunk
Are you sure you want to change the base?
feat(actions): add pre-commit
framework with codespell
#191
Conversation
Official -> "Git hook scripts are useful for identifying simple issues before submission to code review. We run our hooks on every commit to automatically point out issues in code such as missing semicolons, trailing whitespace, and debug statements. By pointing these issues out before code review, this allows a code reviewer to focus on the architecture of a change while not wasting time with trivial style nitpicks." https://pre-commit.com/ Using a `pre-commit` framework speeds up development as a lot of tests can be run on the local machine giving instant feedback. So we don't have to wait for the CI / GitHub actions to run to get feedback. The pre-commit automatically fixes some of the issues when you do git commit and if there are any issues the tests are marked as red failed. Then you will need to commit again so that all the tests pass green. When pre-commit runs with GitHub Actions on the GitHub website the hooks/tests either pass or fail. There are many more pre-commit checks listed here -> https://pre-commit.com/hooks.html Lets get this PR merged and then I will look at adding more pre-commit tests 👍 This PR adds `codespell` to our pre-commit hooks. The words in `codespell.txt` are ignored and this file has basically been created by running: `codespell . | cut -f2 -d' ' | tr A-Z a-z | sort | uniq > codespell.txt` from the repo root. https://github.com/codespell-project/codespell `codespell` is one of the leading spell checkers on GitHub. Going forwards we will need to fix a lot of the misspelled words that are in `codespell.txt`
- name: Set PY | ||
run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV | ||
- uses: actions/cache@v3 | ||
with: | ||
path: ~/.cache/pre-commit | ||
key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} |
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.
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.
That's a huge number of misspellings
About the linter is it only checking comments?
https://github.com/codespell-project/codespell From the official repo: "Fix common misspellings in text files. It's designed primarily for checking misspelled words in source code (backslash escapes are skipped), but it can be used with other files as well." So it checks a lot more than just comments. |
If needed you can also exclude files / folders from being spell checked. Apache Airflow is using And they have about 1,800 lines in their ignored words list seen here: https://github.com/apache/airflow/blob/main/docs/spelling_wordlist.txt |
/extras would definitely need to be excluded. |
Official -> "Git hook scripts are useful for identifying simple issues before submission to code review. We run our hooks on every commit to automatically point out issues in code such as missing semicolons, trailing whitespace, and debug statements. By pointing these issues out before code review, this allows a code reviewer to focus on the architecture of a change while not wasting time with trivial style nitpicks."
https://pre-commit.com/
Using a
pre-commit
framework speeds up development as a lot of tests can be run on the local machine giving instant feedback. So we don't have to wait for the CI / GitHub actions to run to get feedback. The pre-commit automatically fixes some of the issues when you do git commit and if there are any issues the tests are marked as red failed. Then you will need to commit again so that all the tests pass green.When pre-commit runs with GitHub Actions on the GitHub website the hooks/tests either pass or fail.
There are many more pre-commit checks listed here -> https://pre-commit.com/hooks.html
Lets get this PR merged and then I will look at adding more pre-commit tests 👍
This PR adds
codespell
to our pre-commit hooks.The words in
codespell.txt
are ignored and this file has basically been created by running:codespell . | cut -f2 -d' ' | tr A-Z a-z | sort | uniq > codespell.txt
from the repo root.
https://github.com/codespell-project/codespell
codespell
is one of the leading spell checkers on GitHub.Going forwards we will need to fix a lot of the misspelled words that are in
codespell.txt