diff options
| author | Michael Albinus | 2025-06-08 15:47:44 +0200 |
|---|---|---|
| committer | Michael Albinus | 2025-06-08 15:47:44 +0200 |
| commit | f1766fd2b35b70093bb4caab79a8dcdfec666ee0 (patch) | |
| tree | c32e362fec77d3c67e8b68a85aff954c47acd2de | |
| parent | 988110fb6d13ce263574c8f4610a89a38ebb6835 (diff) | |
| download | emacs-f1766fd2b35b70093bb4caab79a8dcdfec666ee0.tar.gz emacs-f1766fd2b35b70093bb4caab79a8dcdfec666ee0.zip | |
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.
| -rw-r--r-- | admin/notes/emba | 6 | ||||
| -rw-r--r-- | test/infra/Dockerfile.emba | 21 | ||||
| -rw-r--r-- | 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. | |||
| 66 | The log files for every test job are kept on the server for a week. | 66 | The log files for every test job are kept on the server for a week. |
| 67 | They can be downloaded from the server, visiting the URL | 67 | They can be downloaded from the server, visiting the URL |
| 68 | <https://emba.gnu.org/emacs/emacs/-/pipelines>, and selecting the job | 68 | <https://emba.gnu.org/emacs/emacs/-/pipelines>, and selecting the job |
| 69 | in question. | 69 | in question. Browse the job artifacts. |
| 70 | |||
| 71 | Additionally, the artifacts of the 'test-tree-sitter' job contain the | ||
| 72 | file 'compatibility-report.html', which reports tree-sitter grammars | ||
| 73 | compatibility status. | ||
| 70 | 74 | ||
| 71 | Every pipeline generates a JUnit test report for the respective test | 75 | Every pipeline generates a JUnit test report for the respective test |
| 72 | jobs, which can be inspected on the pipeline web page. This test | 76 | 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 | |||
| 29 | RUN apt-get update && \ | 29 | RUN apt-get update && \ |
| 30 | apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \ | 30 | apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \ |
| 31 | libc-dev gcc g++ make autoconf automake libncurses-dev gnutls-dev \ | 31 | libc-dev gcc g++ make autoconf automake libncurses-dev gnutls-dev \ |
| 32 | libxml2-dev libdbus-1-dev libacl1-dev acl git texinfo gdb \ | 32 | libxml2-dev libdbus-1-dev libacl1-dev acl git man-db texinfo gdb \ |
| 33 | && rm -rf /var/lib/apt/lists/* | 33 | && rm -rf /var/lib/apt/lists/* |
| 34 | 34 | ||
| 35 | FROM emacs-base as emacs-inotify | 35 | FROM emacs-base as emacs-inotify |
| 36 | 36 | ||
| 37 | # We install clangd for Eglot tests. | ||
| 38 | RUN apt-get update && \ | 37 | RUN apt-get update && \ |
| 39 | apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \ | 38 | apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \ |
| 40 | inotify-tools clangd \ | 39 | inotify-tools \ |
| 41 | && rm -rf /var/lib/apt/lists/* | 40 | && rm -rf /var/lib/apt/lists/* |
| 42 | 41 | ||
| 43 | COPY . /checkout | 42 | COPY . /checkout |
| @@ -60,12 +59,19 @@ RUN ./autogen.sh autoconf | |||
| 60 | RUN ./configure --with-file-notification=gfile | 59 | RUN ./configure --with-file-notification=gfile |
| 61 | RUN make -j `nproc` bootstrap | 60 | RUN make -j `nproc` bootstrap |
| 62 | 61 | ||
| 63 | FROM emacs-base as emacs-eglot | 62 | FROM debian:trixie as emacs-eglot |
| 64 | 63 | ||
| 65 | # Install clangd, tsserver. | 64 | # This mimics emacs-base. |
| 66 | RUN apt-get update && \ | 65 | RUN apt-get update && \ |
| 67 | apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \ | 66 | apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \ |
| 68 | clangd node-typescript \ | 67 | libc-dev gcc g++ make autoconf automake libncurses-dev gnutls-dev \ |
| 68 | libxml2-dev libdbus-1-dev libacl1-dev acl git man-db texinfo gdb \ | ||
| 69 | && rm -rf /var/lib/apt/lists/* | ||
| 70 | |||
| 71 | # Install clangd, tsserver, rust-analyzer. | ||
| 72 | RUN apt-get update && \ | ||
| 73 | apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \ | ||
| 74 | clangd node-typescript rust-analyzer cargo \ | ||
| 69 | && rm -rf /var/lib/apt/lists/* | 75 | && rm -rf /var/lib/apt/lists/* |
| 70 | 76 | ||
| 71 | # eclipse-jdt-ls is planned as Java language server. | 77 | # eclipse-jdt-ls is planned as Java language server. |
| @@ -81,9 +87,6 @@ RUN apt-get update && \ | |||
| 81 | # && rm -rf /var/lib/apt/lists/* | 87 | # && rm -rf /var/lib/apt/lists/* |
| 82 | # RUN snap install core | 88 | # RUN snap install core |
| 83 | 89 | ||
| 84 | # # Install rust-analyzer. | ||
| 85 | # RUN snap install rust-analyzer --beta | ||
| 86 | |||
| 87 | # # Install typescript-language-server. | 90 | # # Install typescript-language-server. |
| 88 | # RUN snap install typescript-language-server | 91 | # RUN snap install typescript-language-server |
| 89 | 92 | ||
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: | |||
| 118 | docker cp ${test_name}:checkout/compatibility-report.html ${test_name} || | 118 | docker cp ${test_name}:checkout/compatibility-report.html ${test_name} || |
| 119 | true' | 119 | true' |
| 120 | - 'test -n "$(docker ps -aq -f name=${test_name})" && docker rm ${test_name}' | 120 | - 'test -n "$(docker ps -aq -f name=${test_name})" && docker rm ${test_name}' |
| 121 | - 'find ${test_name} | 121 | - 'test -d ${test_name} && |
| 122 | ! \( -name "*.log" -o -name ${EMACS_TEST_JUNIT_REPORT} -o | 122 | find ${test_name} |
| 123 | -name compatibility-report.html \) -type f -delete' | 123 | ! \( -name "*.log" -o -name ${EMACS_TEST_JUNIT_REPORT} -o |
| 124 | -name compatibility-report.html \) -type f -delete' | ||
| 124 | # BusyBox find does not know -empty. | 125 | # BusyBox find does not know -empty. |
| 125 | - 'find ${test_name} -type d -depth -exec rmdir {} + 2>/dev/null' | 126 | - 'test -d ${test_name} && |
| 127 | find ${test_name} -type d -depth -exec rmdir {} + 2>/dev/null' | ||
| 126 | 128 | ||
| 127 | .build-template: | 129 | .build-template: |
| 128 | needs: [] | 130 | needs: [] |