mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
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:
parent
988110fb6d
commit
f1766fd2b3
3 changed files with 23 additions and 14 deletions
|
|
@ -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.
|
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
|
They can be downloaded from the server, visiting the URL
|
||||||
<https://emba.gnu.org/emacs/emacs/-/pipelines>, and selecting the job
|
<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
|
Every pipeline generates a JUnit test report for the respective test
|
||||||
jobs, which can be inspected on the pipeline web page. This test
|
jobs, which can be inspected on the pipeline web page. This test
|
||||||
|
|
|
||||||
|
|
@ -29,15 +29,14 @@ FROM debian:bookworm as emacs-base
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
|
apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
|
||||||
libc-dev gcc g++ make autoconf automake libncurses-dev gnutls-dev \
|
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/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
FROM emacs-base as emacs-inotify
|
FROM emacs-base as emacs-inotify
|
||||||
|
|
||||||
# We install clangd for Eglot tests.
|
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
|
apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
|
||||||
inotify-tools clangd \
|
inotify-tools \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
COPY . /checkout
|
COPY . /checkout
|
||||||
|
|
@ -60,12 +59,19 @@ RUN ./autogen.sh autoconf
|
||||||
RUN ./configure --with-file-notification=gfile
|
RUN ./configure --with-file-notification=gfile
|
||||||
RUN make -j `nproc` bootstrap
|
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 && \
|
RUN apt-get update && \
|
||||||
apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
|
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/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# eclipse-jdt-ls is planned as Java language server.
|
# eclipse-jdt-ls is planned as Java language server.
|
||||||
|
|
@ -81,9 +87,6 @@ RUN apt-get update && \
|
||||||
# && rm -rf /var/lib/apt/lists/*
|
# && rm -rf /var/lib/apt/lists/*
|
||||||
# RUN snap install core
|
# RUN snap install core
|
||||||
|
|
||||||
# # Install rust-analyzer.
|
|
||||||
# RUN snap install rust-analyzer --beta
|
|
||||||
|
|
||||||
# # Install typescript-language-server.
|
# # Install typescript-language-server.
|
||||||
# RUN snap install typescript-language-server
|
# RUN snap install typescript-language-server
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -118,11 +118,13 @@ default:
|
||||||
docker cp ${test_name}:checkout/compatibility-report.html ${test_name} ||
|
docker cp ${test_name}:checkout/compatibility-report.html ${test_name} ||
|
||||||
true'
|
true'
|
||||||
- 'test -n "$(docker ps -aq -f name=${test_name})" && docker rm ${test_name}'
|
- 'test -n "$(docker ps -aq -f name=${test_name})" && docker rm ${test_name}'
|
||||||
- 'find ${test_name}
|
- 'test -d ${test_name} &&
|
||||||
|
find ${test_name}
|
||||||
! \( -name "*.log" -o -name ${EMACS_TEST_JUNIT_REPORT} -o
|
! \( -name "*.log" -o -name ${EMACS_TEST_JUNIT_REPORT} -o
|
||||||
-name compatibility-report.html \) -type f -delete'
|
-name compatibility-report.html \) -type f -delete'
|
||||||
# BusyBox find does not know -empty.
|
# 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:
|
.build-template:
|
||||||
needs: []
|
needs: []
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue