]> git.eshelyaron.com Git - emacs.git/commitdiff
Generate tree-sitter compatibility report on emba
authorMichael Albinus <michael.albinus@gmx.de>
Sun, 18 May 2025 18:39:59 +0000 (20:39 +0200)
committerEshel Yaron <me@eshelyaron.com>
Wed, 21 May 2025 06:09:54 +0000 (08:09 +0200)
* test/infra/Dockerfile.emba (emacs-tree-sitter): Generate
compatibility report.

* test/infra/gitlab-ci.yml (.job-template): Modify artifacts preparation.
(build-tree-sitter): Add artifact.

(cherry picked from commit c8294f3a0fc5eb3302cd3513fb99333d21fab33e)

test/infra/Dockerfile.emba
test/infra/gitlab-ci.yml

index b7af7006acff6330666ccf2b3d21c14dd07172a6..96fe044066702286c3b88a327be15af94fc93ae4 100644 (file)
@@ -140,7 +140,13 @@ RUN src/emacs -Q --batch \
     --eval '(message "treesit-language-source-alist\n%s" \
         (pp-to-string treesit-language-source-alist))' \
     --eval '(dolist (lang (sort (mapcar (quote car) treesit-language-source-alist))) \
-        (message "%s ABI version %d" lang (treesit-language-abi-version lang)))'
+        (message "%s ABI version %d" lang (treesit-language-abi-version lang)))' \
+    -l admin/tree-sitter/treesit-admin.el \
+    --eval '(setq treesit-admin--builtin-language-sources treesit-language-source-alist)' \
+    -f treesit-admin-check-manual-coverage \
+    --eval '(treesit-admin--generate-compatibility-report \
+        (list (expand-file-name "src/emacs")) treesit-admin--builtin-modes \
+        (expand-file-name "compatibility-report.html"))'
 
 FROM emacs-base as emacs-gnustep
 
index a0666550030c2b3edbff0dbc9f73e3a4393f6ab4..10ee1527b9bb38263b8b28d0b9a31a51e7731dd2 100644 (file)
@@ -110,11 +110,16 @@ default:
     # - test -n "$(docker ps -aq -f name=${test_name})" && ( docker export ${test_name} | tar -tvf - )
     # Prepare test artifacts.
     - test -n "$(docker ps -aq -f name=${test_name})" && docker cp ${test_name}:checkout/test ${test_name}
+    - find ${test_name}/ -depth ! -name "*.log" ! -name "*.xml" -type f -print
+    - find ${test_name}/ -depth ! -name "*.log" ! -name "*.xml" -type f -delete
+    - find ${test_name}/ -depth -empty -type d -print
+    - find ${test_name}/ -depth -empty -type d -delete
     - test -n "$(docker ps -aq -f name=${test_name})" && docker cp ${test_name}:checkout/configure.log ${test_name}
+    - test -n "$(docker ps -aq -f name=${test_name})" && docker cp ${test_name}:checkout/compatibility-report.html ${test_name}
     - test -n "$(docker ps -aq -f name=${test_name})" && docker rm ${test_name}
-    - find ${test_name} ! \( -name "*.log" -o -name ${EMACS_TEST_JUNIT_REPORT} \) -type f -delete
+    - find ${test_name} ! \( -name "*.log" -o -name ${EMACS_TEST_JUNIT_REPORT} \) -type f -delete
     # BusyBox find does not know -empty.
-    - find ${test_name} -type d -depth -exec rmdir {} + 2>/dev/null
+    - find ${test_name} -type d -depth -exec rmdir {} + 2>/dev/null
 
 .build-template:
   needs: []
@@ -321,6 +326,9 @@ build-image-tree-sitter:
   extends: [.job-template, .build-template, .tree-sitter-template]
   variables:
     target: emacs-tree-sitter
+  artifacts:
+    paths:
+      - ${test_name}/compatibility-report.html
 
 test-tree-sitter:
   stage: platforms