Commit: CI: Check help tags for errors (duplicates, missing, etc) (#13865)

5 views
Skip to first unread message

Christian Brabandt

unread,
Jan 14, 2024, 1:30:07 PM1/14/24
to vim...@googlegroups.com
CI: Check help tags for errors (duplicates, missing, etc) (#13865)

Commit: https://github.com/vim/vim/commit/8102a4c463c21f3bba4f27f0dbc402b9850de915
Author: Christian Brabandt <c...@256bit.org>
Date: Sun Jan 14 18:24:05 2024 +0000

CI: Check help tags for errors (duplicates, missing, etc) (https://github.com/vim/vim/issues/13865)

- Run the doc make html awk script, which also checks, that all
referenced help tags exists.
- Run the doc maketags awk script, which checks for duplicates
- in case of any error in the previous two steps, exit the CI with
an error and show the errors.log file, that is generated by the
previous 2 steps

Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index b51cadeab..0efadcf9b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -265,7 +265,12 @@ jobs:
if: contains(matrix.extra, 'vimtags')
run: |
# This will exit with an error code if the generated vim tags differs from source.
- git diff --exit-code -- runtime/doc/tags
+ (
+ cd runtime/doc
+ git diff --exit-code -- tags
+ make html; rm *.html tags.ref;
+ test -f errors.log && exit 3;
+ )

- name: Generate gcov files
if: matrix.coverage
diff --git a/runtime/doc/maketags.awk b/runtime/doc/maketags.awk
index c6b2cd91f..20b2b081a 100644
--- a/runtime/doc/maketags.awk
+++ b/runtime/doc/maketags.awk
@@ -21,6 +21,13 @@ NR == 1 { nf=split(FILENAME,f,".")
gsub(/%/,"\&#37;");

nf=split($0,tag," ");
+ if (counttag[tag[1]] > 0)
+ {
+ print "==============" > "errors.log"
+ print "Duplicate Tag " tag[1] > "errors.log"
+ print "==============" > "errors.log"
+ }
+ counttag[tag[1]]++
tagkey[t]=tag[1];tagref[t]=tag[2];tagnum[t]=NR;
print $1 " " $2 " line " NR >"tags.ref"
n=split($2,w,".");
Reply all
Reply to author
Forward
0 new messages