diff --git a/.codespell.S.ignore b/.codespell.S.ignore new file mode 100644 index 0000000000000..4e6c5203fdd96 --- /dev/null +++ b/.codespell.S.ignore @@ -0,0 +1,2 @@ +seh +SEH diff --git a/.codespell.c.ignore b/.codespell.c.ignore new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/.codespell.c.ignore @@ -0,0 +1 @@ + diff --git a/.codespell.cpp.ignore b/.codespell.cpp.ignore new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/.codespell.cpp.ignore @@ -0,0 +1 @@ + diff --git a/.codespell.ignore b/.codespell.ignore new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/.codespell.ignore @@ -0,0 +1 @@ + diff --git a/.codespell.jl.ignore b/.codespell.jl.ignore new file mode 100644 index 0000000000000..f87c8fbfc031a --- /dev/null +++ b/.codespell.jl.ignore @@ -0,0 +1,6 @@ +afile +dout +egal +fo +te +whos diff --git a/.codespell.md.ignore b/.codespell.md.ignore new file mode 100644 index 0000000000000..275407c668fe9 --- /dev/null +++ b/.codespell.md.ignore @@ -0,0 +1,3 @@ +ans +caf +findn diff --git a/.codespell.rtf.ignore b/.codespell.rtf.ignore new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/.codespell.rtf.ignore @@ -0,0 +1 @@ + diff --git a/.codespell.scm.ignore b/.codespell.scm.ignore new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/.codespell.scm.ignore @@ -0,0 +1 @@ + diff --git a/.codespell.toml.ignore b/.codespell.toml.ignore new file mode 100644 index 0000000000000..8b137891791fe --- /dev/null +++ b/.codespell.toml.ignore @@ -0,0 +1 @@ + diff --git a/.github/workflows/SpellCheck.yml b/.github/workflows/SpellCheck.yml new file mode 100644 index 0000000000000..c6c9eae6e4be8 --- /dev/null +++ b/.github/workflows/SpellCheck.yml @@ -0,0 +1,50 @@ +name: Spell Check + +permissions: {} + +on: [pull_request] + +jobs: + typos-check: + name: Spell Check with Typos + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - name: Checkout the JuliaLang/julia repository + uses: actions/checkout@v4 + with: + persist-credentials: false + - name: Check spelling + uses: crate-ci/typos@master + codespell: + # https://github.com/codespell-project/codespell + # This is a catch-all job to cover file extensions that aren't in another job + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + - run: pip install codespell + - run: codespell --skip='*.c,*.cpp,*.jl,*.md,*.rtf,*.scm,*.toml,*.S' --ignore-words=.codespell.ignore + codespell-file-extension: + runs-on: ubuntu-latest + timeout-minutes: 5 + strategy: + fail-fast: false + matrix: + file-extension: + - 'c' # C files + - 'cpp' # C++ files + - 'jl' # Julia files + - 'md' # Markdown files + - 'rtf' # RTF (Rich Text Format) files + - 'scm' # Scheme (femtolisp) files + - 'toml' # TOML files + - 'S' # Assembly language files + steps: + - uses: actions/checkout@v4 + with: + persist-credentials: false + - run: pip install codespell + - run: find . -type f -name '*.${{ matrix.file-extension }}' -exec codespell --ignore-words=.codespell.jl.ignore {} \;