]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
CI: Check help tags for errors (duplicates, missing, etc) (#13865)
authorChristian Brabandt <cb@256bit.org>
Sun, 14 Jan 2024 18:24:05 +0000 (18:24 +0000)
committerGitHub <noreply@github.com>
Sun, 14 Jan 2024 18:24:05 +0000 (19:24 +0100)
- 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 <cb@256bit.org>
.github/workflows/ci.yml
runtime/doc/maketags.awk

index b51cadeab0e7d8efa3e200fc02e24722f1ab147d..0efadcf9b91be3747ba0f28e56004dac4b6ad0d5 100644 (file)
@@ -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
index c6b2cd91f37ac79c187bd24c7f462fc95a20b0ea..20b2b081ad452144c7fa5c09ad346fcb387b11ad 100644 (file)
@@ -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,".");