| name: SpellCheck | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| build: | |
| runs-on: ubuntu-20.04 | |
| name: Lint changed files | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 0 # OR "2" -> To retrieve the preceding commit. | |
| - name: Check links in all markdown files | |
| uses: gaurav-nelson/github-action-markdown-link-check@1.0.13 | |
| with: | |
| use-verbose-mode: 'yes' | |
| config-file: ".github/scripts/markdown_link_check_config.json" | |
| - name: Get changed files | |
| id: changed-files | |
| uses: tj-actions/changed-files@v41.0.0 | |
| with: | |
| files: | | |
| **/*.py | |
| spellcheck: | |
| runs-on: ubuntu-20.04 | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get install aspell aspell-en | |
| pip install pyspelling | |
| - name: Get changed files | |
| id: changed-files | |
| uses: tj-actions/changed-files@v41.0.0 | |
| with: | |
| files: | | |
| **/*.md | |
| - name: Check spellings | |
| run: | | |
| sources="" | |
| for file in ${{ steps.changed-files.outputs.all_changed_files }}; do | |
| sources="${sources} -S $file" | |
| done | |
| if [ ! "$sources" ]; then | |
| echo "No files to spellcheck" | |
| else | |
| pyspelling -c $GITHUB_WORKSPACE/.github/scripts/spellcheck_conf/spellcheck.yaml --name Markdown $sources | |
| fi | |
| - name: In the case of misspellings | |
| if: ${{ failure() }} | |
| run: | | |
| echo "Please fix the misspellings. If you are sure about some of them, " | |
| echo "so append those to .github/scripts/spellcheck_conf/wordlist.txt" | |