From 27d66ab39dc1c7c608433a4e42e36fad033891e1 Mon Sep 17 00:00:00 2001 From: Josh Soref Date: Sun, 25 Apr 2021 02:02:52 -0400 Subject: [PATCH] Add check-spelling Signed-off-by: Josh Soref --- .github/actions/spelling/README.md | 15 +++ .github/actions/spelling/advice.md | 27 ++++++ .github/actions/spelling/allow.txt | 0 .github/actions/spelling/excludes.txt | 10 ++ .github/actions/spelling/expect.txt | 129 ++++++++++++++++++++++++++ .github/actions/spelling/patterns.txt | 40 ++++++++ .github/actions/spelling/reject.txt | 7 ++ .github/workflows/spelling.yml | 25 +++++ 8 files changed, 253 insertions(+) create mode 100644 .github/actions/spelling/README.md create mode 100644 .github/actions/spelling/advice.md create mode 100644 .github/actions/spelling/allow.txt create mode 100644 .github/actions/spelling/excludes.txt create mode 100644 .github/actions/spelling/expect.txt create mode 100644 .github/actions/spelling/patterns.txt create mode 100644 .github/actions/spelling/reject.txt create mode 100644 .github/workflows/spelling.yml diff --git a/.github/actions/spelling/README.md b/.github/actions/spelling/README.md new file mode 100644 index 0000000..ec59bd7 --- /dev/null +++ b/.github/actions/spelling/README.md @@ -0,0 +1,15 @@ +# check-spelling/check-spelling configuration + +File | Purpose | Format | Info +-|-|-|- +[dictionary.txt](dictionary.txt) | Replacement dictionary (creating this file will override the default dictionary) | one word per line | [dictionary](https://github.com/check-spelling/check-spelling/wiki/Configuration#dictionary) +[allow.txt](allow.txt) | Add words to the dictionary | one word per line (only letters and `'`s allowed) | [allow](https://github.com/check-spelling/check-spelling/wiki/Configuration#allow) +[reject.txt](reject.txt) | Remove words from the dictionary (after allow) | grep pattern matching whole dictionary words | [reject](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-reject) +[excludes.txt](excludes.txt) | Files to ignore entirely | perl regular expression | [excludes](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-excludes) +[only.txt](only.txt) | Only check matching files (applied after excludes) | perl regular expression | [only](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-only) +[patterns.txt](patterns.txt) | Patterns to ignore from checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns) +[expect.txt](expect.txt) | Expected words that aren't in the dictionary | one word per line (sorted, alphabetically) | [expect](https://github.com/check-spelling/check-spelling/wiki/Configuration#expect) +[advice.txt](advice.txt) | Supplement for GitHub comment when unrecognized words are found | GitHub Markdown | [advice](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice) + +Note: you can replace any of these files with a directory by the same name (minus the suffix) +and then include multiple files inside that directory (with that suffix) to merge multiple files together. diff --git a/.github/actions/spelling/advice.md b/.github/actions/spelling/advice.md new file mode 100644 index 0000000..2a32b65 --- /dev/null +++ b/.github/actions/spelling/advice.md @@ -0,0 +1,27 @@ + +
If you see a bunch of garbage + +If it relates to a ... +
well-formed pattern + +See if there's a [pattern](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) that would match it. + +If not, try writing one and adding it to the `patterns.txt` file. + +Patterns are Perl 5 Regular Expressions - you can [test]( +https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your lines. + +Note that patterns can't match multiline strings. +
+
binary-ish string + +Please add a file path to the `excludes.txt` file instead of just accepting the garbage. + +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]( +../tree/HEAD/README.md) (on whichever branch you're using). +
+ +
diff --git a/.github/actions/spelling/allow.txt b/.github/actions/spelling/allow.txt new file mode 100644 index 0000000..e69de29 diff --git a/.github/actions/spelling/excludes.txt b/.github/actions/spelling/excludes.txt new file mode 100644 index 0000000..a2bb4bc --- /dev/null +++ b/.github/actions/spelling/excludes.txt @@ -0,0 +1,10 @@ +# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes +(?:^|/)(?i)COPYRIGHT +(?:^|/)(?i)LICEN[CS]E +(?:^|/)package(?:-lock)\.json$ +(?:^|/)vendor/ +ignore$ +\.lock$ +\.min\. +\.mod$ +^\.github/ diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt new file mode 100644 index 0000000..5d5f2d1 --- /dev/null +++ b/.github/actions/spelling/expect.txt @@ -0,0 +1,129 @@ +accepteula +ada +ADFS +applocker +askds +askhost +aspx +AUTODELAYED +autorun +autorunsc +blog +BSJB +Cbs +cctor +CDATA +CHV +computersystem +config +Cred +css +csv +ctor +DCOM +DCs +dll +DPAPI +ecmangen +EMET +EULA +Eventing +Eventlog +eventman +eventvwr +EVNT +EVTX +exe +foreach +github +GPOs +hotpatching +http +iad +iadgov +Interop +isssource +jepayne +JSON +Kerberos +KEYW +LEVL +logdisplayname +logfile +logon +malware +microsoft +MPSSVC +mscoree +mscorlib +msdn +Msi +namespace +nobanner +NONINFRINGEMENT +Noteproperty +NSD +NSG +NTLM +OAlerts +OPCO +OUs +palantir +Passthru +PDevices +pdf +plugin +powershell +principalname +PROGRA +pslogs +Ptr +reloc +rsrc +russellt +sacl +sdk +serverlevelplugindll +SERVERNAME +SIDs +siem +Smartcard +SPN +squarespace +SSL +subscriptionid +sysinternals +Sysmon +taskhost +technet +tls +Todo +Toolset +TSG +TTBLh +UInt +Unicode +unregister +USBHUB +usbstor +virtualized +Virustotal +wald +wbem +WEC +Wecsvc +wecutil +WEVT +WEVTp +wevtutil +WHC +Whitelisting +Wineventlog +wmi +wsman +www +xml +xmlns +xpath +xsd +xsi diff --git a/.github/actions/spelling/patterns.txt b/.github/actions/spelling/patterns.txt new file mode 100644 index 0000000..e92746a --- /dev/null +++ b/.github/actions/spelling/patterns.txt @@ -0,0 +1,40 @@ +# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns + +# YouTube +https?://(?:(?:www\.|)youtube\.com|youtu.be)/(?:channel/|embed/|playlist\?list=|watch\?v=|v/|)[-a-zA-Z0-9?&=_]* +<\s*youtube\s+id=['"][-a-zA-Z0-9?_]*['"] +\bimg\.youtube\.com/vi/[-a-zA-Z0-9?&=_]* +# Google Analytics +\bgoogle-analytics\.com/collect.[-0-9a-zA-Z?%=&_.~]* +# Google APIs +\bgoogleapis\.com/[a-z]+/v\d+/[a-z]+/[@./?=\w]+ +\b[-a-zA-Z0-9.]*\bstorage\d*\.googleapis\.com(?:/\S*|) +# Google Calendar +\bcalendar\.google\.com/calendar(?:/u/\d+|)/embed\?src=[@./?=\w&%]+ +\w+\@group\.calendar\.google\.com\b +# Google DataStudio +\bdatastudio\.google\.com/(?:(?:c/|)u/\d+/|)(?:embed/|)(?:open|reporting|datasources|s)/[-0-9a-zA-Z]+(?:/page/[-0-9a-zA-Z]+|) +# The leading `/` here is as opposed to the `\b` above +# ... a short way to match `https://` or `http://` since most urls have one of those prefixes +# Google Docs +/docs\.google\.com/[a-z]+/d/(?:e/|)[0-9a-zA-Z_-]+/? +# Google Groups +https://groups\.google\.com/d/topic/[^/]+/[a-zA-Z0-9]+/discussion +https://groups\.google\.com/d/msg/[^/]+/[a-zA-Z0-9]+/[a-zA-Z0-9]+ +# Google themes +themes\.googleusercontent\.com/static/fonts/[^/]+/v\d+/[^.]+. +# Google CDN +\bclients2\.google(?:usercontent|)\.com[-0-9a-zA-Z/.]* +# Goo.gl +/goo\.gl/[a-zA-Z0-9]+ +# Google Chrome Store +\bchrome\.google\.com/webstore/detail/\w*(?:/\w*|) + +# uuid: +[<({"'>][0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[<'"})>] + +# ignore long runs of a single character: +\b([A-Za-z])\g{-1}{3,}\b + +# v# +[Vv]\d+(?:\b|(?=[a-zA-Z_])) diff --git a/.github/actions/spelling/reject.txt b/.github/actions/spelling/reject.txt new file mode 100644 index 0000000..a5ba6f6 --- /dev/null +++ b/.github/actions/spelling/reject.txt @@ -0,0 +1,7 @@ +^attache$ +benefitting +occurence +Sorce +^[Ss]pae +^untill +^wether diff --git a/.github/workflows/spelling.yml b/.github/workflows/spelling.yml new file mode 100644 index 0000000..c71cf1f --- /dev/null +++ b/.github/workflows/spelling.yml @@ -0,0 +1,25 @@ +name: Spell checking +on: + pull_request_target: + push: + issue_comment: + +jobs: + build: + name: Spell checking + runs-on: ubuntu-latest + steps: + - name: checkout-merge + if: "contains(github.event_name, 'pull_request')" + uses: actions/checkout@v2.0.0 + with: + ref: refs/pull/${{github.event.pull_request.number}}/merge + fetch-depth: 5 + - name: checkout + if: "!contains(github.event_name, 'pull_request')" + uses: actions/checkout@v2.0.0 + with: + fetch-depth: 5 + - uses: check-spelling/check-spelling@prerelease + with: + experimental_apply_changes_via_bot: 1