* 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.
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
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.
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.
$(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)
# 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
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
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