emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 42c8e2dfceb: Rework EMBA integration


From: Michael Albinus
Subject: master 42c8e2dfceb: Rework EMBA integration
Date: Mon, 22 Apr 2024 07:38:23 -0400 (EDT)

branch: master
commit 42c8e2dfceb504533c6db3f336e28dd6c94aaa70
Author: Michael Albinus <michael.albinus@gmx.de>
Commit: Michael Albinus <michael.albinus@gmx.de>

    Rework EMBA integration
    
    * test/infra/Dockerfile.emba (emacs-inotify, emacs-filenotify-gio)
    (emacs-eglot, emacs-tree-sitter, emacs-gnustep)
    (emacs-native-comp-speed0, emacs-native-comp-speed1)
    (emacs-native-comp-speed2): Use "-j `nproc`".
    (emacs-eglot): Add libxml2-dev and node-typescript.
    (emacs-tree-sitter) Add libxml2-dev and tree-sitter-rust.
    
    * test/infra/Makefile.in (subdir_template): Simplify make_params.
    
    * test/infra/gitlab-ci.yml (.job-template): Set environment
    variable NPROC.  Use "-k -j \$NPROC".
    (test-filenotify-gio, test-eglot, test-tree-sitter)
    (test-native-comp-speed2): Simplify make_params.
    
    * test/infra/test-jobs.yml: Regenerate.
---
 test/infra/Dockerfile.emba | 54 ++++++++++++++++++++++++++++---------
 test/infra/Makefile.in     |  2 +-
 test/infra/gitlab-ci.yml   | 15 ++++++-----
 test/infra/test-jobs.yml   | 67 +++++++++++++++++++++++-----------------------
 4 files changed, 86 insertions(+), 52 deletions(-)

diff --git a/test/infra/Dockerfile.emba b/test/infra/Dockerfile.emba
index 233e210fc74..9091d60e8c8 100644
--- a/test/infra/Dockerfile.emba
+++ b/test/infra/Dockerfile.emba
@@ -45,7 +45,7 @@ WORKDIR /checkout
 RUN ./autogen.sh autoconf
 RUN ./configure
 # 'make -j4 bootstrap' does not work reliably.
-RUN make bootstrap
+RUN make -j `nproc` bootstrap
 
 FROM emacs-base as emacs-filenotify-gio
 
@@ -58,7 +58,7 @@ COPY . /checkout
 WORKDIR /checkout
 RUN ./autogen.sh autoconf
 RUN ./configure --with-file-notification=gfile
-RUN make bootstrap
+RUN make -j `nproc` bootstrap
 
 # Debian bullseye doesn't provide proper packages.  So we use Debian
 # sid for this.
@@ -68,20 +68,49 @@ FROM debian:sid as emacs-eglot
 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 \
-      libdbus-1-dev libacl1-dev acl git texinfo gdb \
+      libxml2-dev libdbus-1-dev libacl1-dev acl git texinfo gdb \
     && rm -rf /var/lib/apt/lists/*
 
-# Install clangd.
+# Install clangd, tsserver.
 RUN apt-get update && \
     apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
-      clangd \
+      clangd node-typescript \
     && rm -rf /var/lib/apt/lists/*
 
+# eclipse-jdt-ls is planned as Java language server.
+# See <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1024246>.
+
+# The following LSP servers exist as snap packages.  However, snap
+# cannot be used inside containers.  We keep this here for reference.
+
+# # Install snapd.
+# RUN apt-get update && \
+#     apt-get install -y --no-install-recommends -o=Dpkg::Use-Pty=0 \
+#       snapd \
+#     && 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
+
+# # Install vscode-json-languageserver.
+# RUN snap install vscode-json-languageserver
+
 COPY . /checkout
 WORKDIR /checkout
 RUN ./autogen.sh autoconf
 RUN ./configure
-RUN make bootstrap
+RUN make -j `nproc` bootstrap
+
+# # Install company and yasnippet.
+# RUN mkdir /root/.emacs.d
+# RUN src/emacs --batch \
+#     --eval '(setq url-debug 0 debug-on-error t)' \
+#     --eval '(package-install (quote company))' \
+#     --eval '(package-install (quote yasnippet))'
 
 # Debian bullseye doesn't provide proper packages.  So we use Debian
 # sid for this.
@@ -91,7 +120,7 @@ FROM debian:sid as emacs-tree-sitter
 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 \
-      libdbus-1-dev libacl1-dev acl git texinfo gdb \
+      libxml2-dev libdbus-1-dev libacl1-dev acl git texinfo gdb \
     && rm -rf /var/lib/apt/lists/*
 
 # Install tree-sitter library.
@@ -104,7 +133,7 @@ COPY . /checkout
 WORKDIR /checkout
 RUN ./autogen.sh autoconf
 RUN ./configure --with-tree-sitter
-RUN make bootstrap
+RUN make -j `nproc` bootstrap
 
 # Install language grammars.
 RUN mkdir -p /root/.emacs.d/tree-sitter
@@ -129,6 +158,7 @@ RUN src/emacs -Q --batch \
       (lua "https://github.com/tree-sitter-grammars/tree-sitter-lua";) \
       (python "https://github.com/tree-sitter/tree-sitter-python";) \
       (ruby "https://github.com/tree-sitter/tree-sitter-ruby";) \
+      (rust "https://github.com/tree-sitter/tree-sitter-rust";) \
       (tsx "https://github.com/tree-sitter/tree-sitter-typescript"; "master" 
"tsx/src") \
       (typescript "https://github.com/tree-sitter/tree-sitter-typescript"; 
"master" "typescript/src"))))' \
     --eval '(dolist (lang (mapcar (quote car) treesit-language-source-alist)) \
@@ -145,7 +175,7 @@ COPY . /checkout
 WORKDIR /checkout
 RUN ./autogen.sh autoconf
 RUN ./configure --with-ns
-RUN make bootstrap
+RUN make -j `nproc` bootstrap
 
 FROM emacs-base as emacs-native-comp
 
@@ -161,7 +191,7 @@ COPY . /checkout
 WORKDIR /checkout
 RUN ./autogen.sh autoconf
 RUN ./configure --with-native-compilation
-RUN make bootstrap -j2 \
+RUN make -j `nproc` bootstrap \
       NATIVE_FULL_AOT=1 BYTE_COMPILE_EXTRA_FLAGS='--eval "(setq comp-speed 0)"'
 
 FROM emacs-native-comp as emacs-native-comp-speed1
@@ -170,7 +200,7 @@ COPY . /checkout
 WORKDIR /checkout
 RUN ./autogen.sh autoconf
 RUN ./configure --with-native-compilation
-RUN make bootstrap -j2 BYTE_COMPILE_EXTRA_FLAGS='--eval "(setq comp-speed 1)"'
+RUN make -j `nproc` bootstrap BYTE_COMPILE_EXTRA_FLAGS='--eval "(setq 
comp-speed 1)"'
 
 FROM emacs-native-comp as emacs-native-comp-speed2
 
@@ -178,4 +208,4 @@ COPY . /checkout
 WORKDIR /checkout
 RUN ./autogen.sh autoconf
 RUN ./configure --with-native-compilation
-RUN make bootstrap -j2
+RUN make -j `nproc` bootstrap`
diff --git a/test/infra/Makefile.in b/test/infra/Makefile.in
index 20fa9021abc..1d92a67f3aa 100644
--- a/test/infra/Makefile.in
+++ b/test/infra/Makefile.in
@@ -103,7 +103,7 @@ define subdir_template
        @echo '        - test/$(1)/*.el' >>$(FILE)
        @echo '  variables:' >>$(FILE)
        @echo '    target: emacs-inotify' >>$(FILE)
-       @echo '    make_params: "-k -C test $(target)"' >>$(FILE)
+       @echo '    make_params: "-C test $(target)"' >>$(FILE)
 endef
 
 $(foreach subdir, $(SUBDIRS), $(eval $(call subdir_template,$(subdir))))
diff --git a/test/infra/gitlab-ci.yml b/test/infra/gitlab-ci.yml
index d262218e276..1b383e3b52c 100644
--- a/test/infra/gitlab-ci.yml
+++ b/test/infra/gitlab-ci.yml
@@ -86,7 +86,7 @@ default:
     # TODO: with make -j4 several of the tests were failing, for
     # example shadowfile-tests, but passed without it.
     - 'export PWD=$(pwd)'
-    - 'docker run -i -e EMACS_EMBA_CI=${EMACS_EMBA_CI} -e 
EMACS_TEST_JUNIT_REPORT=${EMACS_TEST_JUNIT_REPORT} -e 
EMACS_TEST_TIMEOUT=${EMACS_TEST_TIMEOUT} -e 
EMACS_TEST_VERBOSE=${EMACS_TEST_VERBOSE} --volumes-from $(docker ps -q -f 
"label=com.gitlab.gitlab-runner.job.id=${CI_JOB_ID}"):ro --name ${test_name} 
${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} /bin/bash -xvc "git fetch ${PWD} 
HEAD && echo checking out these updated files && git diff --name-only 
FETCH_HEAD && ( git diff --name-only F [...]
+    - 'docker run -i -e EMACS_EMBA_CI=${EMACS_EMBA_CI} -e 
EMACS_TEST_JUNIT_REPORT=${EMACS_TEST_JUNIT_REPORT} -e 
EMACS_TEST_TIMEOUT=${EMACS_TEST_TIMEOUT} -e 
EMACS_TEST_VERBOSE=${EMACS_TEST_VERBOSE} -e NPROC=`nproc` --volumes-from 
$(docker ps -q -f "label=com.gitlab.gitlab-runner.job.id=${CI_JOB_ID}"):ro 
--name ${test_name} ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} /bin/bash -xvc 
"git fetch ${PWD} HEAD && echo checking out these updated files && git diff 
--name-only FETCH_HEAD && ( git d [...]
   after_script:
     # - docker ps -a
     # - printenv
@@ -255,7 +255,7 @@ test-filenotify-gio:
     target: emacs-filenotify-gio
     # This is needed in order to get a JUnit test report.
     make_params: >-
-      '-k -C test check-expensive
+      'check-expensive
         TEST_HOME=/root
         LOGFILES="lisp/autorevert-tests.log lisp/filenotify-tests.log"'
 
@@ -275,8 +275,12 @@ test-eglot:
     target: emacs-eglot
     # This is needed in order to get a JUnit test report.
     make_params: >-
-      '-k -C test check-expensive
+      'check-expensive
         TEST_HOME=/root LOGFILES="lisp/progmodes/eglot-tests.log"'
+        # EMACS_EXTRAOPT="--eval \(package-reinstall\ \(quote\ company\)\)
+        #                 --eval \(package-reinstall\ \(quote\ yasnippet\)\)
+        #                 --eval \(use-package\ company\)
+        #                 --eval \(use-package\ yasnippet\)"'
 
 build-image-tree-sitter:
   stage: platform-images
@@ -296,8 +300,7 @@ test-tree-sitter:
       \(and\ \$\{SELECTOR_EXPENSIVE\}\ \(or\ \\\"^treesit\\\"\ \\\"-ts-\\\"\)\)
     # This is needed in order to get a JUnit test report.
     make_params: >-
-      '-k -C test check SELECTOR=$selector
-        TEST_HOME=/root LOGFILES="$tree_sitter_files"'
+      'check SELECTOR=$selector TEST_HOME=/root LOGFILES="$tree_sitter_files"'
 
 build-image-gnustep:
   stage: platform-images
@@ -345,7 +348,7 @@ test-native-comp-speed2:
       optional: true
   variables:
     target: emacs-native-comp-speed2
-    make_params: "-k -C test check SELECTOR='(not (tag :unstable))'"
+    make_params: "check SELECTOR='(not (tag :unstable))'"
 
 # Local Variables:
 # add-log-current-defun-header-regexp: "^\\([-_.[:alnum:]]+\\)[ \t]*:"
diff --git a/test/infra/test-jobs.yml b/test/infra/test-jobs.yml
index 095964ee4ed..d1d4f10e1cf 100644
--- a/test/infra/test-jobs.yml
+++ b/test/infra/test-jobs.yml
@@ -15,7 +15,7 @@ test-lib-src-inotify:
         - test/lib-src/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lib-src"
+    make_params: "-C test check-lib-src"
 
 test-lisp-inotify:
   stage: normal
@@ -32,7 +32,7 @@ test-lisp-inotify:
         - test/lisp/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp"
+    make_params: "-C test check-lisp"
 
 test-lisp-calc-inotify:
   stage: normal
@@ -49,7 +49,7 @@ test-lisp-calc-inotify:
         - test/lisp/calc/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-calc"
+    make_params: "-C test check-lisp-calc"
 
 test-lisp-calendar-inotify:
   stage: normal
@@ -66,7 +66,7 @@ test-lisp-calendar-inotify:
         - test/lisp/calendar/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-calendar"
+    make_params: "-C test check-lisp-calendar"
 
 test-lisp-cedet-inotify:
   stage: normal
@@ -83,7 +83,7 @@ test-lisp-cedet-inotify:
         - test/lisp/cedet/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-cedet"
+    make_params: "-C test check-lisp-cedet"
 
 test-lisp-cedet-semantic-inotify:
   stage: normal
@@ -100,7 +100,7 @@ test-lisp-cedet-semantic-inotify:
         - test/lisp/cedet/semantic/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-cedet-semantic"
+    make_params: "-C test check-lisp-cedet-semantic"
 
 test-lisp-cedet-semantic-bovine-inotify:
   stage: normal
@@ -117,7 +117,7 @@ test-lisp-cedet-semantic-bovine-inotify:
         - test/lisp/cedet/semantic/bovine/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-cedet-semantic-bovine"
+    make_params: "-C test check-lisp-cedet-semantic-bovine"
 
 test-lisp-cedet-srecode-inotify:
   stage: normal
@@ -134,7 +134,7 @@ test-lisp-cedet-srecode-inotify:
         - test/lisp/cedet/srecode/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-cedet-srecode"
+    make_params: "-C test check-lisp-cedet-srecode"
 
 test-lisp-emacs-lisp-inotify:
   stage: normal
@@ -151,7 +151,7 @@ test-lisp-emacs-lisp-inotify:
         - test/lisp/emacs-lisp/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-emacs-lisp"
+    make_params: "-C test check-lisp-emacs-lisp"
 
 test-lisp-emacs-lisp-eieio-tests-inotify:
   stage: normal
@@ -168,7 +168,7 @@ test-lisp-emacs-lisp-eieio-tests-inotify:
         - test/lisp/emacs-lisp/eieio-tests/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-emacs-lisp-eieio-tests"
+    make_params: "-C test check-lisp-emacs-lisp-eieio-tests"
 
 test-lisp-emacs-lisp-faceup-tests-inotify:
   stage: normal
@@ -185,7 +185,7 @@ test-lisp-emacs-lisp-faceup-tests-inotify:
         - test/lisp/emacs-lisp/faceup-tests/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-emacs-lisp-faceup-tests"
+    make_params: "-C test check-lisp-emacs-lisp-faceup-tests"
 
 test-lisp-emulation-inotify:
   stage: normal
@@ -202,7 +202,7 @@ test-lisp-emulation-inotify:
         - test/lisp/emulation/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-emulation"
+    make_params: "-C test check-lisp-emulation"
 
 test-lisp-erc-inotify:
   stage: normal
@@ -219,7 +219,7 @@ test-lisp-erc-inotify:
         - test/lisp/erc/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-erc"
+    make_params: "-C test check-lisp-erc"
 
 test-lisp-eshell-inotify:
   stage: normal
@@ -236,7 +236,7 @@ test-lisp-eshell-inotify:
         - test/lisp/eshell/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-eshell"
+    make_params: "-C test check-lisp-eshell"
 
 test-lisp-gnus-inotify:
   stage: normal
@@ -253,7 +253,7 @@ test-lisp-gnus-inotify:
         - test/lisp/gnus/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-gnus"
+    make_params: "-C test check-lisp-gnus"
 
 test-lisp-image-inotify:
   stage: normal
@@ -270,7 +270,7 @@ test-lisp-image-inotify:
         - test/lisp/image/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-image"
+    make_params: "-C test check-lisp-image"
 
 test-lisp-international-inotify:
   stage: normal
@@ -287,7 +287,7 @@ test-lisp-international-inotify:
         - test/lisp/international/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-international"
+    make_params: "-C test check-lisp-international"
 
 test-lisp-mail-inotify:
   stage: normal
@@ -304,7 +304,7 @@ test-lisp-mail-inotify:
         - test/lisp/mail/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-mail"
+    make_params: "-C test check-lisp-mail"
 
 test-lisp-mh-e-inotify:
   stage: normal
@@ -321,7 +321,7 @@ test-lisp-mh-e-inotify:
         - test/lisp/mh-e/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-mh-e"
+    make_params: "-C test check-lisp-mh-e"
 
 test-lisp-net-inotify:
   stage: normal
@@ -338,7 +338,7 @@ test-lisp-net-inotify:
         - test/lisp/net/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-net"
+    make_params: "-C test check-lisp-net"
 
 test-lisp-nxml-inotify:
   stage: normal
@@ -355,7 +355,7 @@ test-lisp-nxml-inotify:
         - test/lisp/nxml/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-nxml"
+    make_params: "-C test check-lisp-nxml"
 
 test-lisp-obsolete-inotify:
   stage: normal
@@ -372,7 +372,7 @@ test-lisp-obsolete-inotify:
         - test/lisp/obsolete/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-obsolete"
+    make_params: "-C test check-lisp-obsolete"
 
 test-lisp-org-inotify:
   stage: normal
@@ -389,7 +389,7 @@ test-lisp-org-inotify:
         - test/lisp/org/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-org"
+    make_params: "-C test check-lisp-org"
 
 test-lisp-play-inotify:
   stage: normal
@@ -406,7 +406,7 @@ test-lisp-play-inotify:
         - test/lisp/play/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-play"
+    make_params: "-C test check-lisp-play"
 
 test-lisp-progmodes-inotify:
   stage: normal
@@ -430,7 +430,7 @@ test-lisp-progmodes-inotify:
         - test/lisp/progmodes/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-progmodes"
+    make_params: "-C test check-lisp-progmodes"
 
 test-lisp-so-long-tests-inotify:
   stage: normal
@@ -447,7 +447,7 @@ test-lisp-so-long-tests-inotify:
         - test/lisp/so-long-tests/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-so-long-tests"
+    make_params: "-C test check-lisp-so-long-tests"
 
 test-lisp-term-inotify:
   stage: normal
@@ -464,7 +464,7 @@ test-lisp-term-inotify:
         - test/lisp/term/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-term"
+    make_params: "-C test check-lisp-term"
 
 test-lisp-textmodes-inotify:
   stage: normal
@@ -481,7 +481,7 @@ test-lisp-textmodes-inotify:
         - test/lisp/textmodes/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-textmodes"
+    make_params: "-C test check-lisp-textmodes"
 
 test-lisp-url-inotify:
   stage: normal
@@ -498,7 +498,7 @@ test-lisp-url-inotify:
         - test/lisp/url/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-url"
+    make_params: "-C test check-lisp-url"
 
 test-lisp-use-package-inotify:
   stage: normal
@@ -515,7 +515,7 @@ test-lisp-use-package-inotify:
         - test/lisp/use-package/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-use-package"
+    make_params: "-C test check-lisp-use-package"
 
 test-lisp-vc-inotify:
   stage: normal
@@ -532,7 +532,7 @@ test-lisp-vc-inotify:
         - test/lisp/vc/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-vc"
+    make_params: "-C test check-lisp-vc"
 
 test-misc-inotify:
   stage: normal
@@ -549,7 +549,7 @@ test-misc-inotify:
         - test/misc/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-misc"
+    make_params: "-C test check-misc"
 
 test-src-inotify:
   stage: normal
@@ -570,7 +570,7 @@ test-src-inotify:
         - test/src/*.el
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-src"
+    make_params: "-C test check-src"
 
 # js-tests.el and python-tests.el don't follow test file name convention.
 .tree-sitter-files-template:
@@ -585,5 +585,6 @@ test-src-inotify:
       lisp/progmodes/lua-ts-mode-tests.log
       lisp/progmodes/python-tests.log
       lisp/progmodes/ruby-ts-mode-tests.log
+      lisp/progmodes/rust-ts-mode-tests.log
       lisp/progmodes/typescript-ts-mode-tests.log
       src/treesit-tests.log



reply via email to

[Prev in Thread] Current Thread [Next in Thread]