]> git.eshelyaron.com Git - emacs.git/commitdiff
Adapt emba integration
authorMichael Albinus <michael.albinus@gmx.de>
Sat, 3 Jun 2023 08:19:02 +0000 (10:19 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Sat, 3 Jun 2023 08:19:02 +0000 (10:19 +0200)
* admin/notes/emba: Improve docker call.

* test/infra/Dockerfile.emba (emacs-eglot, emacs-tree-sitter):
Install also gawk.

* test/infra/Makefile.in (TREE-SITTER-FILES): New variable.
(tree-sitter-files-template): New rule.
(.PHONY, generate-test-jobs): Add it to dependencies.

* test/infra/gitlab-ci.yml (variables): Disable CI_DEBUG_TRACE.
(test-tree-sitter): Extends also .tree-sitter-files-template.  Use
$tree_sitter_files.

* test/infra/test-jobs.yml: Regenerate.

admin/notes/emba
test/infra/Dockerfile.emba
test/infra/Makefile.in
test/infra/gitlab-ci.yml
test/infra/test-jobs.yml

index 1f87a99ddc0c68b4a4c9ecfd1a4f95e5b98d178d..cad7a2e121c74014cf64e96f1c570369e4598918 100644 (file)
@@ -107,12 +107,11 @@ via "make bootstrap".  In order to use the image, start a container
 like
 
   docker run --interactive --tty --env EMACS_EMBA_CI=1 --name emacs-inotify \
-    emacs-inotify /bin/sh -i
+    emacs-inotify /bin/bash -i
 
-In this container, change the current directory to "/checkout".  Now
-you can apply all commands known for Emacs, like
+In this container, your working directory is "/checkout".  Now you can
+apply all commands known for Emacs, like
 
-  cd /checkout
   make -C test files-tests.log
 
 While this container runs, you can also access its filesystem from
index 1969afdd33342475b90c5b39aa098a4c95af09c3..c2e3afadb05b3a253ae8c6a02d2e52189649738d 100644 (file)
@@ -68,7 +68,7 @@ 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 \
+      libdbus-1-dev libacl1-dev acl git texinfo gawk gdb \
     && rm -rf /var/lib/apt/lists/*
 
 # Install clangd.
@@ -91,7 +91,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 \
+      libdbus-1-dev libacl1-dev acl git texinfo gawk gdb \
     && rm -rf /var/lib/apt/lists/*
 
 # Install tree-sitter library.
index 5d40698541d6261fe778eef6edbc20a35561325f..1af13a0096a0af115a470fc6e26f44fbea68f202 100644 (file)
@@ -100,11 +100,20 @@ endef
 
 $(foreach subdir, $(SUBDIRS), $(eval $(call subdir_template,$(subdir))))
 
+TREE-SITTER-FILES ?= $(shell cd .. ; find lisp -name "*-ts-mode-tests.el" | sort | sed s/\\.el/.log/)
+
 all: generate-test-jobs
 
-.PHONY: generate-test-jobs $(FILE) $(SUBDIR_TARGETS)
+.PHONY: generate-test-jobs $(FILE) $(SUBDIR_TARGETS) tree-sitter-files-template
+
+generate-test-jobs: $(FILE) $(SUBDIR_TARGETS) tree-sitter-files-template
 
-generate-test-jobs: $(FILE) $(SUBDIR_TARGETS)
+tree-sitter-files-template:
+       @echo >>$(FILE)
+       @echo '.tree-sitter-files-template:' >>$(FILE)
+       @echo '  variables:' >>$(FILE)
+       @echo '    tree_sitter_files: >-' >>$(FILE)
+       @for name in $(TREE-SITTER-FILES) ; do echo "      $${name}" >>$(FILE) ; done
 
 $(FILE):
        $(AM_V_GEN)
index ce2a92620fba59cd5b4ffb691d9d2ee61ce9ea67..4317cccf2a7f847b3b0e332d50a03831d9ed05df 100644 (file)
@@ -58,7 +58,7 @@ variables:
   # across multiple builds.
   BUILD_TAG: ${CI_COMMIT_REF_SLUG}
   # Disable if you don't need it, it can be a security risk.
-  CI_DEBUG_TRACE: "true"
+  CI_DEBUG_TRACE: "true"
 
 default:
   image: docker:19.03.12
@@ -275,22 +275,14 @@ build-image-tree-sitter:
 
 test-tree-sitter:
   stage: platforms
-  extends: [.job-template, .test-template, .tree-sitter-template]
+  extends: [.job-template, .test-template, .tree-sitter-template, .tree-sitter-files-template]
   needs:
     - job: build-image-tree-sitter
       optional: true
   variables:
     target: emacs-tree-sitter
     # This is needed in order to get a JUnit test report.
-    files: >-
-      lisp/progmodes/c-ts-mode-tests.log
-      lisp/progmodes/elixir-ts-mode-tests.log
-      lisp/progmodes/go-ts-mode-tests.log
-      lisp/progmodes/heex-ts-mode-tests.log
-      lisp/progmodes/java-ts-mode-tests.log
-      lisp/progmodes/ruby-ts-mode-tests.log
-      lisp/progmodes/typescript-ts-mode-tests.log
-    make_params: '-k -C test check-expensive LD_LIBRARY_PATH=/usr/local/lib/tree-sitter LOGFILES="$files"'
+    make_params: '-k -C test check-expensive LD_LIBRARY_PATH=/usr/local/lib/tree-sitter LOGFILES="$tree_sitter_files"'
 
 build-image-gnustep:
   stage: platform-images
index 4e575d50e9af0d90b10c75bf0b03029f0a8e048b..21c19c3043ed8e19b87c8ac31ce0660ac9381581 100644 (file)
@@ -567,3 +567,14 @@ test-src-inotify:
   variables:
     target: emacs-inotify
     make_params: "-k -C test check-src"
+
+.tree-sitter-files-template:
+  variables:
+    tree_sitter_files: >-
+      lisp/progmodes/c-ts-mode-tests.log
+      lisp/progmodes/elixir-ts-mode-tests.log
+      lisp/progmodes/go-ts-mode-tests.log
+      lisp/progmodes/heex-ts-mode-tests.log
+      lisp/progmodes/java-ts-mode-tests.log
+      lisp/progmodes/ruby-ts-mode-tests.log
+      lisp/progmodes/typescript-ts-mode-tests.log