From 6f1bf0d83f44c0305f28b8b2a1e7e5b561f7bae0 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Sun, 24 Nov 2024 21:15:34 -0500 Subject: [PATCH] Add check-spelling --- .../actions/markdown-check/mlc-config.json | 3 + .github/actions/spelling/advice.md | 3 +- .github/actions/spelling/allow.txt | 7 +- .github/actions/spelling/candidate.patterns | 190 ++++++++++--- .github/actions/spelling/excludes.txt | 60 +--- .github/actions/spelling/expect.txt | 134 ++++----- .../actions/spelling/line_forbidden.patterns | 269 +++++++++++++++--- .github/actions/spelling/patterns.txt | 136 +++++---- .github/actions/spelling/reject.txt | 2 + .github/workflows/spelling.yml | 93 +++--- 10 files changed, 583 insertions(+), 314 deletions(-) diff --git a/.github/actions/markdown-check/mlc-config.json b/.github/actions/markdown-check/mlc-config.json index 95d8d165ad..960c81c556 100644 --- a/.github/actions/markdown-check/mlc-config.json +++ b/.github/actions/markdown-check/mlc-config.json @@ -8,6 +8,9 @@ }, { "pattern": "./tutorials-" + }, + { + "pattern": "^\\.\\./tree/HEAD/" } ] } diff --git a/.github/actions/spelling/advice.md b/.github/actions/spelling/advice.md index b7271e4e95..84eb9218e2 100644 --- a/.github/actions/spelling/advice.md +++ b/.github/actions/spelling/advice.md @@ -9,7 +9,8 @@ If items relate to a ... File paths are Perl 5 Regular Expressions - you can [test]( https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your files. - `^` refers to the file's path from the root of the repository, so `^README\.md$` would exclude README.md (on whichever branch you're using). + `^` refers to the file's path from the root of the repository, so `^README\.md$` would exclude [README.md]( +../tree/HEAD/README.md) (on whichever branch you're using). * well-formed pattern. diff --git a/.github/actions/spelling/allow.txt b/.github/actions/spelling/allow.txt index 75f73d63e8..385a523b29 100644 --- a/.github/actions/spelling/allow.txt +++ b/.github/actions/spelling/allow.txt @@ -1,10 +1,7 @@ +AUTOGEN +atype github https ssh ubuntu -usec -usecs -workaround workarounds -DEVICESM -HACKSM diff --git a/.github/actions/spelling/candidate.patterns b/.github/actions/spelling/candidate.patterns index 9af4c28bdb..4d7c771fe9 100644 --- a/.github/actions/spelling/candidate.patterns +++ b/.github/actions/spelling/candidate.patterns @@ -8,7 +8,7 @@ ^.*\b[Cc][Ss][Pp][Ee][Ll]{2}:\s*[Dd][Ii][Ss][Aa][Bb][Ll][Ee]-[Ll][Ii][Nn][Ee]\b # patch hunk comments -^\@\@ -\d+(?:,\d+|) \+\d+(?:,\d+|) \@\@ .* +^@@ -\d+(?:,\d+|) \+\d+(?:,\d+|) @@ .* # git index header index (?:[0-9a-z]{7,40},|)[0-9a-z]{7,40}\.\.[0-9a-z]{7,40} @@ -26,13 +26,13 @@ index (?:[0-9a-z]{7,40},|)[0-9a-z]{7,40}\.\.[0-9a-z]{7,40} # data url in quotes ([`'"])data:(?:[^ `'"].*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}).*\g{-1} # data url -data:[-a-zA-Z=;:/0-9+]*,\S* +\bdata:[-a-zA-Z=;:/0-9+]*,\S* # https/http/file urls -#(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|] +#(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/*%?=~_|!:,.;]+[-A-Za-z0-9+&@#/*%=~_|] # mailto urls -mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,} +mailto:[-a-zA-Z=;:/?%&0-9+@._]{3,} # magnet urls magnet:[?=:\w]+ @@ -120,6 +120,8 @@ themes\.googleusercontent\.com/static/fonts/[^/\s"]+/v\d+/[^.]+. \bgoogle\.(?:\w{2,4})/books(?:/\w+)*\?[-\w\d=&#.]* # Google Fonts \bfonts\.(?:googleapis|gstatic)\.com/[-/?=:;+&0-9a-zA-Z]* +# Google Forms +\bforms\.gle/\w+ # Google Scholar \bscholar\.google\.com/citations\?user=[A-Za-z0-9_]+ # Google Colab Research Drive @@ -146,10 +148,13 @@ themes\.googleusercontent\.com/static/fonts/[^/\s"]+/v\d+/[^.]+. # GitHub JSON "node_id": "[-a-zA-Z=;:/0-9+_]*" # Contributor -\[[^\]]+\]\(https://github\.com/[^/\s"]+/?\) +#\[[^\]]+\]\(https://github\.com/[^/\s"]+/?\) # GHSA GHSA(?:-[0-9a-z]{4}){3} +# GitHub actions +\buses:\s+[-\w.]+/[-\w./]+@[-\w.]+ + # GitLab commit \bgitlab\.[^/\s"]*/\S+/\S+/commit/[0-9a-f]{7,16}#[0-9a-f]{40}\b # GitLab merge requests @@ -208,7 +213,7 @@ accounts\.binance\.com/[a-z/]*oauth/authorize\?[-0-9a-zA-Z&%]* # medium link \blink\.medium\.com/[a-zA-Z0-9]+ # medium -\bmedium\.com/\@?[^/\s"]+/[-\w]+ +\bmedium\.com/@?[^/\s"]+/[-\w]+ # microsoft \b(?:https?://|)(?:(?:download\.visualstudio|docs|msdn2?|research)\.microsoft|blogs\.msdn)\.com/[-_a-zA-Z0-9()=./%]* @@ -273,7 +278,7 @@ slack://[a-zA-Z0-9?&=]+ [0-9a-f]{32}\@o\d+\.ingest\.sentry\.io\b # Twitter markdown -\[\@[^[/\]:]*?\]\(https://twitter.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)\) +\[@[^[/\]:]*?\]\(https://twitter.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)\) # Twitter hashtag \btwitter\.com/hashtag/[\w?_=&]* # Twitter status @@ -328,7 +333,7 @@ ipfs://[0-9a-zA-Z]{3,} [^"\s]+/gitweb/\S+;h=[0-9a-f]+ # HyperKitty lists -/archives/list/[^@/]+\@[^/\s"]*/message/[^/\s"]*/ +/archives/list/[^@/]+@[^/\s"]*/message/[^/\s"]*/ # lists /thread\.html/[^"\s]+ @@ -346,7 +351,7 @@ ipfs://[0-9a-zA-Z]{3,} \bopen\.spotify\.com/embed/playlist/\w+ # Mastodon -\bmastodon\.[-a-z.]*/(?:media/|\@)[?&=0-9a-zA-Z_]* +\bmastodon\.[-a-z.]*/(?:media/|@)[?&=0-9a-zA-Z_]* # scastie \bscastie\.scala-lang\.org/[^/]+/\w+ @@ -388,9 +393,9 @@ ipfs://[0-9a-zA-Z]{3,} (?:\\(?:u00|x)1[Bb]|\x1b|\\u\{1[Bb]\})\[\d+(?:;\d+|)m # URL escaped characters -\%[0-9A-F][A-F](?=[A-Za-z]) +%[0-9A-F][A-F](?=[A-Za-z]) # lower URL escaped characters -\%[0-9a-f][a-f](?=[a-z]{2,}) +%[0-9a-f][a-f](?=[a-z]{2,}) # IPv6 \b(?:[0-9a-fA-F]{0,4}:){3,7}[0-9a-fA-F]{0,4}\b # c99 hex digits (not the full format, just one I've seen) @@ -398,11 +403,11 @@ ipfs://[0-9a-zA-Z]{3,} # Punycode \bxn--[-0-9a-z]+ # sha -sha\d+:[0-9]*[a-f]{3,}[0-9a-f]* +sha\d+:[0-9a-f]*?[a-f]{3,}[0-9a-f]* # sha-... -- uses a fancy capture (\\?['"]|")[0-9a-f]{40,}\g{-1} # hex runs -\b[0-9a-fA-F]{16,}\b +#\b[0-9a-fA-F]{16,}\b # hex in url queries =[0-9a-fA-F]*?(?:[A-F]{3,}|[a-f]{3,})[0-9a-fA-F]*?& # ssh @@ -418,10 +423,13 @@ sha\d+:[0-9]*[a-f]{3,}[0-9a-f]* # pki -----BEGIN.*-----END +# pki (base64) +LS0tLS1CRUdJT.* + # uuid: \b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b # hex digits including css/html color classes: -(?:[\\0][xX]|\\u|[uU]\+|#x?|\%23)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|[iu]\d+)\b +(?:[\\0][xX]|\\u|[uU]\+|#x?|%23)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|[iu]\d+)\b # integrity integrity=(['"])(?:\s*sha\d+-[-a-zA-Z=;:/0-9+]{40,})+\g{-1} @@ -439,20 +447,47 @@ integrity=(['"])(?:\s*sha\d+-[-a-zA-Z=;:/0-9+]{40,})+\g{-1} Name\[[^\]]+\]=.* # IServiceProvider / isAThing -\b(?:I|isA)(?=(?:[A-Z][a-z]{2,})+\b) +(?:\b|_)(?:(?:ns|)I|isA)(?=(?:[A-Z][a-z]{2,})+(?:[A-Z\d]|\b)) # crypt (['"])\$2[ayb]\$.{56}\g{-1} +# apache/old crypt +(['"]|)\$+(?:apr|)1\$+.{8}\$+.{22}\g{-1} + +# sha1 hash +\{SHA\}[-a-zA-Z=;:/0-9+]{3,} + +# machine learning (?) +\b(?i)ml(?=[a-z]{2,}) + +# python +\b(?i)py(?!gments|gmy|lon|ramid|ro|th)(?=[a-z]{2,}) + # scrypt / argon \$(?:scrypt|argon\d+[di]*)\$\S+ # go.sum \bh1:\S+ +# scala imports +^import (?:[\w.]|\{\w*?(?:,\s*(?:\w*|\*))+\})+ + # scala modules ("[^"]+"\s*%%?\s*){2,3}"[^"]+" +# container images +image: [-\w./:@]+ + +# Docker images +^\s*FROM\s+\S+:\S+(?:\s+AS\s+\S+|) + +# `docker images` REPOSITORY TAG IMAGE ID CREATED SIZE +\s*\S+/\S+\s+\S+\s+[0-9a-f]{8,}\s+\d+\s+(?:hour|day|week)s ago\s+[\d.]+[KMGT]B + +# Intel intrinsics +_mm_(?!dd)\w+ + # Input to GitHub JSON content: (['"])[-a-zA-Z=;:/0-9+]*=\g{-1} @@ -460,34 +495,44 @@ content: (['"])[-a-zA-Z=;:/0-9+]*=\g{-1} # you'll want to remove the `(?=.*?")` suffix. # The `(?=.*?")` suffix should limit the false positives rate # printf -%(?:(?:(?:hh?|ll?|[jzt])?[diuoxn]|l?[cs]|L?[fega]|p)(?=[a-z]{2,})|(?:X|L?[FEGA]|p)(?=[a-zA-Z]{2,}))(?=[_a-zA-Z]+\b)(?!%)(?=.*?['"]) +%(?:(?:(?:hh?|ll?|[jzt])?[diuoxn]|l?[cs]|L?[fega]|p)(?=[a-z]{2,})|(?:X|L?[FEGA])(?=[a-zA-Z]{2,}))(?!%)(?=[_a-zA-Z]+(?!%)\b)(?=.*?['"]) + +# Alternative printf +# %s +%(?:s(?=[a-z]{2,}))(?!%)(?=[_a-zA-Z]+(?!%[^s])\b)(?=.*?['"]) # Python string prefix / binary prefix # Note that there's a high false positive rate, remove the `?=` and search for the regex to see if the matches seem like reasonable strings -(?|m([|!/@#,;']).*?\g{-1}) # perl qr regex (?|\(.*?\)|([|!/@#,;']).*?\g{-1}) +# perl run +perl(?:\s+-[a-zA-Z]\w*)+ + +# C network byte conversions +#(?:\d|\bh)to(?!ken)(?=[a-z])|to(?=[adhiklpun]\() + # Go regular expressions regexp?\.MustCompile\(`[^`]*`\) @@ -501,14 +546,20 @@ regexp?\.MustCompile\(`[^`]*`\) sed 's/(?:[^/]*?[a-zA-Z]{3,}[^/]*?/){2} # node packages -(["'])\@[^/'" ]+/[^/'" ]+\g{-1} +(["'])@[^/'" ]+/[^/'" ]+\g{-1} # go install go install(?:\s+[a-z]+\.[-@\w/.]+)+ +# pom.xml +<(?:group|artifact)Id>.*?< + # jetbrains schema https://youtrack.jetbrains.com/issue/RSRP-489571 urn:shemas-jetbrains-com +# Debian changelog severity +[-\w]+ \(.*\) (?:\w+|baseline|unstable|experimental); urgency=(?:low|medium|high|emergency|critical)\b + # kubernetes pod status lists # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase \w+(?:-\w+)+\s+\d+/\d+\s+(?:Running|Pending|Succeeded|Failed|Unknown)\s+ @@ -516,9 +567,15 @@ urn:shemas-jetbrains-com # kubectl - pods in CrashLoopBackOff \w+-[0-9a-f]+-\w+\s+\d+/\d+\s+CrashLoopBackOff\s+ +# kubernetes applications +\.apps/[-\w]+ + # kubernetes object suffix -[0-9a-f]{10}-\w{5}\s +# kubernetes crd patterns +^\s*pattern: .*$ + # posthog secrets ([`'"])phc_[^"',]+\g{-1} @@ -530,6 +587,9 @@ urn:shemas-jetbrains-com # xcode api botches customObjectInstantitationMethod +# msvc api botches +PrependWithABINamepsace + # configure flags .* \| --\w{2,}.*?(?=\w+\s\w+) @@ -537,22 +597,35 @@ customObjectInstantitationMethod \.fa-[-a-z0-9]+ # bearer auth -(['"])Bear[e][r] .*?\g{-1} +(['"])[Bb]ear[e][r] .*?\g{-1} + +# bearer auth +\b[Bb]ear[e][r]:? [-a-zA-Z=;:/0-9+.]+ # basic auth -(['"])Basic [-a-zA-Z=;:/0-9+]{3,}\g{-1} +(['"])[Bb]asic [-a-zA-Z=;:/0-9+]{3,}\g{-1} # base64 encoded content -([`'"])[-a-zA-Z=;:/0-9+]+=\g{-1} +([`'"])[-a-zA-Z=;:/0-9+]{3,}=\g{-1} # base64 encoded content in xml/sgml # Commented out because of false positives -# >[-a-zA-Z=;:/0-9+]+=[-a-zA-Z=;:/0-9+]{3,}== 0.0.22) \\\w{2,}\{ +# American Mathematical Society (AMS) / Doxygen +TeX/AMS + +# File extensions +\*\.[+\w]+, + # eslint "varsIgnorePattern": ".+" +# nolint +nolint:\w+ + # Windows short paths -[/\\][^/\\]{5,6}~\d{1,2}[/\\] +[/\\][^/\\]{5,6}~\d{1,2}(?=[/\\]) + +# cygwin paths +/cygdrive/[a-zA-Z]/(?:Program Files(?: \(.*?\)| ?)(?:/[-+.~\\/()\w ]+)*|[-+.~\\/()\w])+ # in check-spelling@v0.0.22+, printf markers aren't automatically consumed # printf markers #(? Don't use `can not` when you mean `cannot`. The only time you're likely to see `can not` written as separate words is when the word `can` happens to precede some other phrase that happens to start with `not`. +# > `Can't` is a contraction of `cannot`, and it's best suited for informal writing. +# > In formal writing and where contractions are frowned upon, use `cannot`. +# > It is possible to write `can not`, but you generally find it only as part of some other construction, such as `not only . . . but also.` +# - if you encounter such a case, add a pattern for that case to patterns.txt. +\b[Cc]an not\b + +# Do not use `(click) here` links +# For more information, see: +# * https://www.w3.org/QA/Tips/noClickHere +# * https://webaim.org/techniques/hypertext/link_text +# * https://granicus.com/blog/why-click-here-links-are-bad/ +# * https://heyoka.medium.com/dont-use-click-here-f32f445d1021 +(?i)(?:>|\[)(?:(?:click |)here|link|(?:read |)more)(?:"'`=(])-(?:(?:J-|)[DPWXY]|[Llf])(?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}) -# hit-count: 81 file-count: 25 +# hit-count: 75 file-count: 29 # GitHub SHAs (markdown) (?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|) -# hit-count: 27 file-count: 5 -# hex runs -\b[0-9a-fA-F]{16,}\b +# hit-count: 42 file-count: 1 +# File extensions +\*\.[+\w]+, + +# hit-count: 38 file-count: 18 +# Markdown anchor links +\(#\S*?[a-zA-Z]\S*?\) + +# hit-count: 28 file-count: 21 +# scala imports +^import (?:[\w.]|\{\w*?(?:,\s*(?:\w*|\*))+\})+ + +# hit-count: 26 file-count: 11 +# libraries +(?:\b|_)lib(?:re(?=office)|)(?!era[lt]|ero|erty|rar(?:i(?:an|es)|y))(?=[a-z]) + +# hit-count: 25 file-count: 15 +# C network byte conversions +(?:\d|\bh)to(?!ken)(?=[a-z])|(?<=[^a-zA-Z][a-z])to(?=[adhiklpun]\() # hit-count: 20 file-count: 7 -# alternate markers if you run into latex and friends -(?v# (?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_])) -# hit-count: 8 file-count: 3 +# hit-count: 15 file-count: 7 +# Python string prefix / binary prefix +# Note that there's a high false positive rate, remove the `?=` and search for the regex to see if the matches seem like reasonable strings +(?]*>|[^<]*)\s*$ @@ -103,21 +135,5 @@ mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,} # Autogenerated revert commit message ^This reverts commit [0-9a-f]{40}\.$ -# Jenkins library -GithubProjectProperty - # ignore long runs of a single character: \b([A-Za-z])\g{-1}{3,}\b - -# ignore docker platform paths ---platform=(linux|darwin)/(amd64|arm|arm32v5|arm32v6|arm32v7|arm64v8|i386|ppc64le|s390x|x86_64) - -# Google Forms URLs -\bforms\.gle/\w+ - -# General URLs -# https/http/file urls -(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|] - -# F Prime Prime full spelling -Prime Prime diff --git a/.github/actions/spelling/reject.txt b/.github/actions/spelling/reject.txt index e5e4c3eef8..5cc86ef80c 100644 --- a/.github/actions/spelling/reject.txt +++ b/.github/actions/spelling/reject.txt @@ -3,9 +3,11 @@ benefitting occurences? ^dependan.* +^diables?$ ^oer$ Sorce ^[Ss]pae.* +^Teh$ ^untill$ ^untilling$ ^wether.* diff --git a/.github/workflows/spelling.yml b/.github/workflows/spelling.yml index f94b4c5938..bb00e5188f 100644 --- a/.github/workflows/spelling.yml +++ b/.github/workflows/spelling.yml @@ -33,14 +33,14 @@ name: Spell checking # # For background, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-with-deploy-key -# Sarif reporting +# SARIF reporting # -# Access to Sarif reports is generally restricted (by GitHub) to members of the repository. +# 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 +# For information on the feature, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-SARIF-output # Minimal workflow structure: # @@ -66,13 +66,13 @@ on: branches: - "**" types: - - 'opened' - - 'reopened' - - 'synchronize' + - "opened" + - "reopened" + - "synchronize" jobs: spelling: - name: Spell checking + name: Check Spelling permissions: contents: read pull-requests: read @@ -80,45 +80,52 @@ jobs: security-events: write outputs: followup: ${{ steps.spelling.outputs.followup }} - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 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@v0.0.22 - with: - suppress_push_for_open_pull_request: ${{ github.actor != 'dependabot[bot]' && 1 }} - checkout: true - check_file_names: 1 - spell_check_this: nasa/fprime@devel - post_comment: 0 - use_magic_file: 1 - report-timing: 1 - warnings: bad-regex,binary-file,deprecated-feature,ignored-expect-variant,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: 0 - use_sarif: ${{ (!github.event.pull_request || (github.event.pull_request.head.repo.full_name == github.repository)) && 1 }} - 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:cpp/src/stdlib-c.txt - cspell:cpp/src/stdlib-cpp.txt - cspell:filetypes/filetypes.txt - cspell:node/dict/node.txt - cspell:fullstack/dict/fullstack.txt - cspell:aws/aws.txt - cspell:latex/dict/latex.txt - cspell:golang/dict/go.txt - cspell:java/src/java.txt - cspell:dotnet/dict/dotnet.txt - cspell:css/dict/css.txt - cspell:typescript/dict/typescript.txt - cspell:cpp/src/lang-keywords.txt - cspell:monkeyc/src/monkeyc_keywords.txt - check_extra_dictionaries: '' + - name: check-spelling + id: spelling + uses: check-spelling/check-spelling@v0.0.24 + with: + suppress_push_for_open_pull_request: ${{ github.actor != 'dependabot[bot]' && 1 }} + checkout: true + check_file_names: 1 + spell_check_this: nasa/fprime@devel + post_comment: 0 + use_magic_file: 1 + report-timing: 1 + warnings: bad-regex,binary-file,deprecated-feature,ignored-expect-variant,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,unclosed-block-ignore-begin,unclosed-block-ignore-end + use_sarif: ${{ (!github.event.pull_request || (github.event.pull_request.head.repo.full_name == github.repository)) && 1 }} + check_extra_dictionaries: '' + dictionary_source_prefixes: > + { + "cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20241114/dictionaries/" + } + extra_dictionaries: | + cspell:software-terms/softwareTerms.txt + cspell:python/python/python-lib.txt + cspell:php/php.txt + cspell:python/python/python.txt + cspell:cpp/stdlib-c.txt + cspell:cpp/stdlib-cpp.txt + cspell:python/common/extra.txt + cspell:filetypes/filetypes.txt + cspell:npm/npm.txt + cspell:dart/dart.txt + cspell:node/node.txt + cspell:fullstack/fullstack.txt + cspell:golang/go.txt + cspell:latex/latex.txt + cspell:dotnet/dotnet.txt + cspell:java/java.txt + cspell:css/css.txt + cspell:aws/aws.txt + cspell:monkeyc/monkeyc_keywords.txt + cspell:django/django.txt + cspell:svelte/svelte.txt + cspell:cpp/ecosystem.txt + cspell:mnemonics/mnemonics.txt