1
0
Эх сурвалжийг харах

Merge topic 'ci-use-typos-for-commit-message-check' into release-4.0

4558c8f9ff ci: Use `typos` to check commit messages

Acked-by: Kitware Robot <[email protected]>
Merge-request: !10314
Brad King 10 сар өмнө
parent
commit
dc88b35233
2 өөрчлөгдсөн 17 нэмэгдсэн , 3 устгасан
  1. 12 3
      .gitlab/ci/typos.bash
  2. 5 0
      .typos.toml

+ 12 - 3
.gitlab/ci/typos.bash

@@ -7,8 +7,17 @@ result=0
 echo "Running 'typos' on source code..."
 typos || result=1
 
-# FIXME(typos): checking commit messages hits false positives
-# on "words" inside commit hashes.  We'd need a way to disable
-# checking of combined identifiers to avoid this.
+cfg='.typos.toml'
+tmp_cfg="${TEMP:-/tmp}/$cfg"
+# Uncomment `extend-ignore-identifiers-re` in the top-level config file
+# to make Git hashes (possibly used in commit messages) valid "identifiers".
+sed 's/^#\s*\(extend-ignore-identifiers-re\)/\1/' "$cfg" >"$tmp_cfg"
+
+if [ -n "$CI_MERGE_REQUEST_DIFF_BASE_SHA" ]; then
+  for COMMIT in $(git rev-list "^$CI_MERGE_REQUEST_DIFF_BASE_SHA" "$CI_COMMIT_SHA"); do
+    echo "Running 'typos' on commit message of $COMMIT..."
+    git show --format=%B -s "$COMMIT" | typos -c "$tmp_cfg" - || result=1
+  done
+fi
 
 exit $result

+ 5 - 0
.typos.toml

@@ -11,6 +11,11 @@ extend-ignore-re = [
   , "(?Rm)^.*(#|/(/|\\*)|\\.\\.)\\s*(NOQA|noqa):? spellcheck(: *|=| +)disable-line$"
   ]
 locale = "en-us"
+# ATTENTION If, for any reason, you want to add the
+# `extend-ignore-identifiers-re` to this section,
+# please also modify the `.gitlab/ci/typos.bash`
+# script accordingly.
+#extend-ignore-identifiers-re=["\\b[0-9a-f]{10}\\b"]
 
 # Add repo-wide false positives here in the form of `word = "word"`.
 # Check the manual for details.