travis: added spelling check workflow. (#811)

This commit is contained in:
lijunlong 2022-01-29 20:46:37 +08:00 committed by GitHub
parent f6b6f10fc0
commit fa95e176fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 174 additions and 2 deletions

15
.github/actions/spelling/README.md vendored Normal file
View File

@ -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.md](advice.md) | 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.

27
.github/actions/spelling/advice.md vendored Normal file
View File

@ -0,0 +1,27 @@
<!-- See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice --> <!-- markdownlint-disable MD033 MD041 -->
<details><summary>If you see a bunch of garbage</summary>
If it relates to a ...
<details><summary>well-formed pattern</summary>
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.
</details>
<details><summary>binary-ish string</summary>
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).
</details>
</details>

0
.github/actions/spelling/allow.txt vendored Normal file
View File

23
.github/actions/spelling/excludes.txt vendored Normal file
View File

@ -0,0 +1,23 @@
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes
(?:^|/)(?i)COPYRIGHT
(?:^|/)(?i)LICEN[CS]E
(?:^|/)package(?:-lock|)\.json$
(?:^|/)vendor/
ignore$
\.avi$
\.ico$
\.jpe?g$
\.js$
\.lock$
\.map$
\.min\.
\.mod$
\.mp[34]$
\.png$
\.styl$
\.svg$
\.uve$
\.wav$
\.html$
\.nav$
^\.github/

52
.github/actions/spelling/expect.txt vendored Normal file
View File

@ -0,0 +1,52 @@
agentzh
COMPAT
csv
dav
dll
DLUAJIT
exe
flv
gcc
github
gmail
gunzip
gzip
html
http
imagename
imap
IOCP
ipv
jit
json
Linux
lua
luajit
Microsoft
mkdir
MSYS
nginx
ngx
NUMMODE
objs
openresty
openssl
pcre
perl
pid
preread
rds
README
realip
sbin
SETSIZE
smtp
ssl
tarballs
taskkill
tasklist
todo
toolchain
xcflags
Yichun
zlib

2
.github/actions/spelling/only.txt vendored Normal file
View File

@ -0,0 +1,2 @@
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes
\.md$

4
.github/actions/spelling/patterns.txt vendored Normal file
View File

@ -0,0 +1,4 @@
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns
# ignore long runs of a single character:
\b([A-Za-z])\g{-1}{3,}\b

0
.github/actions/spelling/reject.txt vendored Normal file
View File

18
.github/workflows/markdownlint.yml vendored Normal file
View File

@ -0,0 +1,18 @@
name: Linting on markdown files
on:
pull_request_target:
push:
jobs:
lint-content:
name: Lint content markdown files
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Lint markdown files
uses: avto-dev/markdown-lint@v1
with:
config: './.markdownlint.jsonc'
args: './content/**/*.md'

31
.github/workflows/spelling.yml vendored Normal file
View File

@ -0,0 +1,31 @@
name: Spell checking
on:
pull_request_target:
push:
issue_comment:
types: [created]
jobs:
spelling:
name: Spell checking
runs-on: ubuntu-latest
steps:
- name: checkout-merge
if: "contains(github.event_name, 'pull_request')"
uses: actions/checkout@v2
with:
ref: refs/pull/${{github.event.pull_request.number}}/merge
- name: checkout
if: ${{ github.event_name == 'push' ||
(
contains(github.event.comment.body, '@check-spelling-bot apply')
) }}
uses: actions/checkout@v2
- uses: check-spelling/check-spelling@main
id: spelling
if: ${{ github.event_name != 'issue_comment' ||
(
contains(github.event.comment.body, '@check-spelling-bot apply')
) }}
with:
experimental_apply_changes_via_bot: 1

View File

@ -94,7 +94,7 @@ recommended though).
Debugging Debugging
========= =========
Debug symbosl are enabled even in release builds. So that when things go very wrong, Debug symbols are enabled even in release builds. So that when things go very wrong,
one can still debug things with tools like MSYS2 GDB. one can still debug things with tools like MSYS2 GDB.
Inclusion of debug symbols make the binary files (`.exe` and `.dll` files) much larger, Inclusion of debug symbols make the binary files (`.exe` and `.dll` files) much larger,
@ -123,7 +123,7 @@ TODO
package redistribution. package redistribution.
* Bundle StrawberryPerl to make command-line utilities like `resty` work out of the box (without * Bundle StrawberryPerl to make command-line utilities like `resty` work out of the box (without
manually installing a Perl). manually installing a Perl).
* Deliver an alternative Win32/Win64 binary package built with best debuggin capabilities (like enabling * Deliver an alternative Win32/Win64 binary package built with best debugging capabilities (like enabling
NGINX debugging logs, disabling C compiler optimizations, and enabling all the assertions and checks). NGINX debugging logs, disabling C compiler optimizations, and enabling all the assertions and checks).
[Back to TOC](#table-of-contents) [Back to TOC](#table-of-contents)