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.
This commit is contained in:
Michael Albinus 2025-06-08 15:47:44 +02:00
parent 988110fb6d
commit f1766fd2b3
3 changed files with 23 additions and 14 deletions

View 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

View 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

View 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: []