RUN mkdir -p /root/.emacs.d/tree-sitter
RUN git config --global http.sslverify "false"
# See https://github.com/emacs-tree-sitter/tree-sitter-langs/tree/master/repos
-# The recommended versions are generated by 'treesit-admin-verify-major-mode-queries`
+# The recommended versions are generated by 'treesit-admin-verify-major-mode-queries'
# at the beginning of every ts-mode file. Loading a ts-mode file adds its
# grammar source to 'treesit-language-source-alist'.
RUN src/emacs -Q --batch \
- --eval \
- '(message "ABI min version %d max version %d" \
- (treesit-library-abi-version t) (treesit-library-abi-version))' \
+ --eval '(message "library ABI min version %d max version %d" \
+ (treesit-library-abi-version t) (treesit-library-abi-version))' \
--eval '(setq treesit-extra-load-path (list "/root/.emacs.d/tree-sitter"))' \
--eval '(dolist (feature (quote (c-ts-mode cmake-ts-mode csharp-mode \
dockerfile-ts-mode elixir-ts-mode go-ts-mode heex-ts-mode java-ts-mode \
sh-script typescript-ts-mode css-mode html-ts-mode markdown-ts-mode \
mhtml-ts-mode toml-ts-mode yaml-ts-mode treesit-x))) (require feature))' \
--eval '(dolist (lang (mapcar (quote car) treesit-language-source-alist)) \
- (treesit-install-language-grammar lang "/root/.emacs.d/tree-sitter"))'
+ (treesit-install-language-grammar lang "/root/.emacs.d/tree-sitter"))' \
+ --eval '(message "treesit-language-source-alist\n%s" \
+ (pp-to-string treesit-language-source-alist))' \
+ --eval '(dolist (lang (sort (mapcar (quote car) treesit-language-source-alist))) \
+ (message "%s ABI version %d" lang (treesit-language-abi-version lang)))'
FROM emacs-base as emacs-gnustep
script:
- docker pull ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG}
- '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} -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 diff --name-only FETCH_HEAD | xargs git checkout -f FETCH_HEAD ) && make -j \$NPROC && make -k -j \$NPROC ${make_params}"'
+ - '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` \
+ -e http_proxy=${http_proxy} \
+ -e https_proxy=${https_proxy} \
+ -e no_proxy=${no_proxy} \
+ --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 FETCH_HEAD | \
+ xargs git checkout -f FETCH_HEAD ) && \
+ make -j \$NPROC && \
+ make -k -j \$NPROC ${make_params}"'
after_script:
# - docker ps -a
# - pwd; printenv
- "**.in"
- lisp/align.el
- lisp/progmodes/*-ts-mode.el
+ - lisp/progmodes/c-ts-common.el
- lisp/progmodes/csharp-mode.el
- lisp/progmodes/js.el
- lisp/progmodes/python.el
- lisp/progmodes/sh-script.el
- lisp/textmodes/*-ts-mode.el
- lisp/textmodes/css-mode.el
- - lisp/treesit.el
+ - lisp/treesit*.el
- src/treesit.{h,c}
- test/infra/*
- test/lisp/align-resources/**
make_params: >-
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\)"
+ # EMACS_EXTRAOPT="--eval \(use-package\ company\ :ensure\ t\)
+ # --eval \(use-package\ yasnippet\ :ensure\ t\)"
build-image-tree-sitter:
stage: platform-images