]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve emba integration
authorMichael Albinus <michael.albinus@gmx.de>
Sun, 8 Jun 2025 13:47:44 +0000 (15:47 +0200)
committerEshel Yaron <me@eshelyaron.com>
Sun, 8 Jun 2025 19:21:41 +0000 (21:21 +0200)
* 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
test/infra/Dockerfile.emba
test/infra/gitlab-ci.yml

index cf4184ccc9251045e642cabffa73e80b8f328651..515edd3435f937856df0e736e8072363ff381e49 100644 (file)
@@ -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
 <https://emba.gnu.org/emacs/emacs/-/pipelines>, 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
index 8078dd77312583f17e8f8672ed71bd6e97eda231..3944f7cca7e499a68c6239960be5521d0a3a03ee 100644 (file)
@@ -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
 
index 79255258aca66bb07c13501284b13b227d05d5ff..93658347761f38dcfb0d65492c5bbd512bed1acc 100644 (file)
@@ -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: []