Adapt emba integration

* 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.
This commit is contained in:
Michael Albinus 2023-06-03 10:19:02 +02:00
parent 8d6dd1682e
commit f1fd3d2606
5 changed files with 30 additions and 19 deletions

View 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

View 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.

View 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)
generate-test-jobs: $(FILE) $(SUBDIR_TARGETS) tree-sitter-files-template
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)

View 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

View 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