From 86296b967f9e8b9a8433bba20acec1b40f317c6b Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Sun, 18 May 2025 20:39:59 +0200 Subject: [PATCH] Generate tree-sitter compatibility report on emba * 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 | 8 +++++++- test/infra/gitlab-ci.yml | 12 ++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/test/infra/Dockerfile.emba b/test/infra/Dockerfile.emba index b7af7006acf..96fe0440667 100644 --- a/test/infra/Dockerfile.emba +++ b/test/infra/Dockerfile.emba @@ -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 diff --git a/test/infra/gitlab-ci.yml b/test/infra/gitlab-ci.yml index a0666550030..10ee1527b9b 100644 --- a/test/infra/gitlab-ci.yml +++ b/test/infra/gitlab-ci.yml @@ -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 -- 2.39.5