From 299f4f98ac17e2aea6d1851798a7733cd22a75dc Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Sun, 8 Jun 2025 15:47:44 +0200 Subject: [PATCH] Improve emba integration * admin/notes/emba: Mention generated compatibility-report.html. * test/infra/Dockerfile.emba (emacs-base): Install man-db. (emacs-inotify): Don't install clangd. (emacs-eglot): Derive from debian:trixie. Install rust-analyzer. * test/infra/gitlab-ci.yml (.job-template): Make actions in after_script more robust. (cherry picked from commit f1766fd2b35b70093bb4caab79a8dcdfec666ee0) --- admin/notes/emba | 6 +++++- test/infra/Dockerfile.emba | 21 ++++++++++++--------- test/infra/gitlab-ci.yml | 10 ++++++---- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/admin/notes/emba b/admin/notes/emba index cf4184ccc92..515edd3435f 100644 --- a/admin/notes/emba +++ b/admin/notes/emba @@ -66,7 +66,11 @@ jobs run scheduled in a pipeline every 8 hours. The log files for every test job are kept on the server for a week. They can be downloaded from the server, visiting the URL , and selecting the job -in question. +in question. Browse the job artifacts. + +Additionally, the artifacts of the 'test-tree-sitter' job contain the +file 'compatibility-report.html', which reports tree-sitter grammars +compatibility status. Every pipeline generates a JUnit test report for the respective test jobs, which can be inspected on the pipeline web page. This test diff --git a/test/infra/Dockerfile.emba b/test/infra/Dockerfile.emba index 8078dd77312..3944f7cca7e 100644 --- a/test/infra/Dockerfile.emba +++ b/test/infra/Dockerfile.emba @@ -29,15 +29,14 @@ FROM debian:bookworm as emacs-base RUN apt-get update && \ apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \ libc-dev gcc g++ make autoconf automake libncurses-dev gnutls-dev \ - libxml2-dev libdbus-1-dev libacl1-dev acl git texinfo gdb \ + libxml2-dev libdbus-1-dev libacl1-dev acl git man-db texinfo gdb \ && rm -rf /var/lib/apt/lists/* FROM emacs-base as emacs-inotify -# We install clangd for Eglot tests. RUN apt-get update && \ apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \ - inotify-tools clangd \ + inotify-tools \ && rm -rf /var/lib/apt/lists/* COPY . /checkout @@ -60,12 +59,19 @@ RUN ./autogen.sh autoconf RUN ./configure --with-file-notification=gfile RUN make -j `nproc` bootstrap -FROM emacs-base as emacs-eglot +FROM debian:trixie as emacs-eglot -# Install clangd, tsserver. +# This mimics emacs-base. RUN apt-get update && \ apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \ - clangd node-typescript \ + libc-dev gcc g++ make autoconf automake libncurses-dev gnutls-dev \ + libxml2-dev libdbus-1-dev libacl1-dev acl git man-db texinfo gdb \ + && rm -rf /var/lib/apt/lists/* + +# Install clangd, tsserver, rust-analyzer. +RUN apt-get update && \ + apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \ + clangd node-typescript rust-analyzer cargo \ && rm -rf /var/lib/apt/lists/* # eclipse-jdt-ls is planned as Java language server. @@ -81,9 +87,6 @@ RUN apt-get update && \ # && rm -rf /var/lib/apt/lists/* # RUN snap install core -# # Install rust-analyzer. -# RUN snap install rust-analyzer --beta - # # Install typescript-language-server. # RUN snap install typescript-language-server diff --git a/test/infra/gitlab-ci.yml b/test/infra/gitlab-ci.yml index 79255258aca..93658347761 100644 --- a/test/infra/gitlab-ci.yml +++ b/test/infra/gitlab-ci.yml @@ -118,11 +118,13 @@ default: docker cp ${test_name}:checkout/compatibility-report.html ${test_name} || true' - 'test -n "$(docker ps -aq -f name=${test_name})" && docker rm ${test_name}' - - 'find ${test_name} - ! \( -name "*.log" -o -name ${EMACS_TEST_JUNIT_REPORT} -o - -name compatibility-report.html \) -type f -delete' + - 'test -d ${test_name} && + find ${test_name} + ! \( -name "*.log" -o -name ${EMACS_TEST_JUNIT_REPORT} -o + -name compatibility-report.html \) -type f -delete' # BusyBox find does not know -empty. - - 'find ${test_name} -type d -depth -exec rmdir {} + 2>/dev/null' + - 'test -d ${test_name} && + find ${test_name} -type d -depth -exec rmdir {} + 2>/dev/null' .build-template: needs: [] -- 2.39.5