]> git.eshelyaron.com Git - emacs.git/commitdiff
Add platform for Eglot tests on EMBA
authorMichael Albinus <michael.albinus@gmx.de>
Wed, 22 Mar 2023 14:00:15 +0000 (15:00 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Wed, 22 Mar 2023 14:00:15 +0000 (15:00 +0100)
* test/infra/Dockerfile.emba (emacs-eglot): New image.

* test/infra/gitlab-ci.yml (.eglot-template): New template.
(build-image-eglot, test-eglot): New jobs.

test/infra/Dockerfile.emba
test/infra/gitlab-ci.yml

index 872591333e6ea656522e04ffdf39108f946c1839..7451c72762427b33ba219c71e6d24f9c821380f4 100644 (file)
@@ -60,6 +60,17 @@ RUN ./autogen.sh autoconf
 RUN ./configure --with-file-notification=gfile
 RUN make bootstrap
 
+FROM emacs-base as emacs-eglot
+
+# We install a recent clangd for Eglot tests.
+RUN bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
+
+COPY . /checkout
+WORKDIR /checkout
+RUN ./autogen.sh autoconf
+RUN ./configure
+RUN make bootstrap
+
 FROM emacs-base as emacs-gnustep
 
 RUN apt-get update && \
index 4e11b1337b5eb1ee4c04848e96dc3d801a9984f4..b2d52117ba49207acc79eb4259eded632dbfdba8 100644 (file)
@@ -166,6 +166,16 @@ default:
         - test/lisp/autorevert-tests.el
         - test/lisp/filenotify-tests.el
 
+.eglot-template:
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "web"'
+    - if: '$CI_PIPELINE_SOURCE == "schedule"'
+      changes:
+        - "**.in"
+        - lisp/progmodes/eglot.el
+        - test/infra/*
+        - test/lisp/progmodes/eglot-tests.el
+
 .native-comp-template:
   rules:
     - if: '$CI_PIPELINE_SOURCE == "web"'
@@ -229,6 +239,23 @@ test-filenotify-gio:
     # This is needed in order to get a JUnit test report.
     make_params: '-k -C test check-expensive LOGFILES="lisp/autorevert-tests.log lisp/filenotify-tests.log"'
 
+build-image-eglot:
+  stage: platform-images
+  extends: [.job-template, .build-template, .eglot-template]
+  variables:
+    target: emacs-eglot
+
+test-eglot:
+  stage: platforms
+  extends: [.job-template, .test-template, .eglot-template]
+  needs:
+    - job: build-image-eglot
+      optional: true
+  variables:
+    target: emacs-eglot
+    # This is needed in order to get a JUnit test report.
+    make_params: '-k -C test check-expensive LOGFILES="lisp/progmodes/eglot-tests.log"'
+
 # The next two jobs are commented out due to bug#62210.
 
 # build-image-gnustep: