From e647fad39f81bdcf6d78584eb0382f554ac74866 Mon Sep 17 00:00:00 2001 From: Josh Soref Date: Fri, 16 Apr 2021 17:00:06 -0400 Subject: [PATCH] Add check-spelling Signed-off-by: Josh Soref --- .github/actions/spelling/README.md | 15 ++ .github/actions/spelling/advice.md | 1 + .github/actions/spelling/advice.txt | 27 ++ .github/actions/spelling/allow.txt | 0 .github/actions/spelling/excludes.txt | 14 + .github/actions/spelling/expect.txt | 368 ++++++++++++++++++++++++++ .github/actions/spelling/patterns.txt | 25 ++ .github/actions/spelling/reject.txt | 7 + .github/workflows/spelling.yml | 25 ++ 9 files changed, 482 insertions(+) create mode 100644 .github/actions/spelling/README.md create mode 120000 .github/actions/spelling/advice.md create mode 100644 .github/actions/spelling/advice.txt 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 000000000..ec59bd73a --- /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 120000 index 000000000..21bee60a1 --- /dev/null +++ b/.github/actions/spelling/advice.md @@ -0,0 +1 @@ +advice.txt \ No newline at end of file diff --git a/.github/actions/spelling/advice.txt b/.github/actions/spelling/advice.txt new file mode 100644 index 000000000..2a32b6520 --- /dev/null +++ b/.github/actions/spelling/advice.txt @@ -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 000000000..e69de29bb diff --git a/.github/actions/spelling/excludes.txt b/.github/actions/spelling/excludes.txt new file mode 100644 index 000000000..1a5ff786a --- /dev/null +++ b/.github/actions/spelling/excludes.txt @@ -0,0 +1,14 @@ +# 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$ +\.png$ +^docs/who-is-using\.md$ +^go\.sum$ +^hack/api-ref-docs$ +^\.github/ diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt new file mode 100644 index 000000000..c26569fae --- /dev/null +++ b/.github/actions/spelling/expect.txt @@ -0,0 +1,368 @@ +acl +admissionregistration +aggregatorclientsetscheme +amd +api +apierrors +apiextensions +apiextensionsclient +apiextensionsfake +apimachinery +apiserver +apiversion +apk +apps +args +Atoi +attr +authn +authz +autogenerated +aws +backend +batchscheduler +bigquery +blog +BUILDKIT +CAcreateserial +CALBDHMTL +cephfs +certs +Cfg +CGO +CGroup +chmod +cla +classpath +clientcmd +clientset +clientsetscheme +clusterrole +clusterrolebinding +Cmp +codegen +config +configmap +coreos +crclientset +crd +crdapi +crdclientfake +crdclientset +crdinformers +crdlisters +crdscheme +creds +crinformers +cron +csr +ctx +customresourcedefinitions +dataproc +deepcopy +deletecollection +deps +deregistered +deregisters +Deregistration +deserializer +diffing +DIFFROOT +dind +dirname +dirs +dns +dockerfile +drv +edns +elif +enqueuing +entrypoint +enum +envfromsource +envvar +errexit +errgroup +Errorf +esac +evanphx +Eventf +exe +Expr +externalversions +extfile +fakediscovery +fakesparkoperator +Fatalf +filepath +filesystem +filetype +finalizer +Fns +fnv +Fprintf +Fprintln +fullname +func +gce +gcp +gcr +gcs +gcsblob +gencert +genclient +genrsa +getent +Getenv +github +gke +glog +glusterfs +gmail +gmsa +GOARCH +gobin +godoc +gofmt +golang +google +googleapis +googlecloudplatform +GOPATH +goreportcard +goroutine +gpu +grep +gvr +GVs +hadoop +hdfs +hdp +heapster +homepage +hostalias +hostname +href +html +http +iam +impl +Infof +ingresstls +ini +internalinterfaces +Interoperability +intstr +inval +ioutil +iqn +iscsi +istio +Itoa +javaagent +jira +jmx +json +jsonpatch +jvm +kclientset +keyfile +keyring +killspark +knative +kube +kubebuilder +kubeclientfake +kubeconfig +kubectl +kubelet +kubernetes +kubetesting +ldquo +leaderelection +len +lifecycle +linux +localhost +logtostderr +lun +mcpu +Mesos +metadata +Millicores +mkdir +mnt +mutatingwebhookconfigurations +Mutex +mwc +mycm +mygid +mygift +mynode +mysecret +myuid +namenode +nameservers +namespace +Namespaced +Nano +Naupr +nbsp +ndash +ndots +nfs +nginx +nindent +nounset +nvidia +objectmeta +olekukonko +omitempty +OOM +openssl +overscheduling +Params +passwd +pem +pipefail +plugin +png +poddnsconfig +podgroups +podmonitor +podsecuritycontext +portforward +portworx +pri +printf +Println +priorityclassname +prometheusmodel +promhttp +ptr +pvc +pwd +pyfiles +pyspark +QPS +quobyte +quotaenforcer +RANDFILE +RApplication +rbac +rbd +rdquo +README +Regex +regexp +requeue +resourcelist +resourcelock +resourcequotas +resourceusage +resync +RLock +robfig +rsquo +RUnlock +sapp +scheduledsparkapp +scheduledsparkapplication +schedulerinterface +schedulername +sdk +secondkey +secondvalue +securitycontext +serializer +serviceaccount +serviceport +servicetype +serviceusage +Setenv +SIGINT +sigs +SIGTERM +sparkapp +sparkapplication +sparkctl +sparkoperator +spdy +spf +spo +Sprintf +src +ssa +ssd +ssl +standalone +Stderr +stdin +Stdout +storageos +strconv +stretchr +stringptr +Strs +stylesheet +Submatch +Subpath +subresource +sudo +svg +syscall +sysctls +tablewriter +tbody +tcp +testcase +testdata +thead +threadpool +tini +tls +tmp +TODO +trunc +ttl +typedcore +uid +uidentry +UIingress +uname +unicode +uninstall +Uninstalling +unmarshal +unregister +uri +url +username +usr +utf +utilruntime +uuid +validatingwebhookconfigurations +Vec +versioned +volcanoclient +volumemount +vsphere +vwc +Warningf +We'd +webhook +wiki +wikipedia +workaround +WORKDIR +workqueue +wwids +WWNs +www +xml +xsl +yaml +YAMLOr +ynli +yuchaoran diff --git a/.github/actions/spelling/patterns.txt b/.github/actions/spelling/patterns.txt new file mode 100644 index 000000000..b77641a1c --- /dev/null +++ b/.github/actions/spelling/patterns.txt @@ -0,0 +1,25 @@ +# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns + +# GitHub SHAs +\bapi.github\.com/repos/[^/]+/[^/]+/[^/]+/[0-9a-f]+\b +(?:\[[0-9a-f]+\]\(https:/|)/github\.com/[^/]+/[^/]+(?:/[^/]+/[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|) +\bgithub\.com/[^/]+/[^/]+[@#][0-9a-f]+\b +# githubusercontent +/[-a-z0-9]+\.githubusercontent\.com/[-a-zA-Z0-9?&=_\/.]* +# gist github +/gist\.github\.com/[^/]+/[0-9a-f]+ + +# yaml regular expression +^\s*pattern: \^.*\$$ + +# ignore long runs of a single character: +\b([A-Za-z])\g{-1}{3,}\b + +# k8s +[Kk]8[Ss] + +# s3a +[Ss]3[Aa] + +# 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 000000000..a5ba6f639 --- /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 000000000..c71cf1ff9 --- /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