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
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
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.
# && 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
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: []