ci: Use typos
to check commit messages
Commit messages in the CMake repo may have Git hashes that can trigger
false positives in the `typos` checker.
Revert commit ddebf4653d
(ci: Do not check commit messages with 'typos'
due to false positives, 2025-02-07). Instead, copy the top-level config
file to a temporary location, add a configuration option to mark
10-hex-digit identifiers as always valid, and pass it to `typos` at the
commit checking phase.
This commit is contained in:
parent
47689e9253
commit
4558c8f9ff
@ -7,8 +7,17 @@ result=0
|
|||||||
echo "Running 'typos' on source code..."
|
echo "Running 'typos' on source code..."
|
||||||
typos || result=1
|
typos || result=1
|
||||||
|
|
||||||
# FIXME(typos): checking commit messages hits false positives
|
cfg='.typos.toml'
|
||||||
# on "words" inside commit hashes. We'd need a way to disable
|
tmp_cfg="${TEMP:-/tmp}/$cfg"
|
||||||
# checking of combined identifiers to avoid this.
|
# 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
|
exit $result
|
||||||
|
@ -11,6 +11,11 @@ extend-ignore-re = [
|
|||||||
, "(?Rm)^.*(#|/(/|\\*)|\\.\\.)\\s*(NOQA|noqa):? spellcheck(: *|=| +)disable-line$"
|
, "(?Rm)^.*(#|/(/|\\*)|\\.\\.)\\s*(NOQA|noqa):? spellcheck(: *|=| +)disable-line$"
|
||||||
]
|
]
|
||||||
locale = "en-us"
|
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"`.
|
# Add repo-wide false positives here in the form of `word = "word"`.
|
||||||
# Check the manual for details.
|
# Check the manual for details.
|
||||||
|
Loading…
Reference in New Issue
Block a user