diff options
author | Michael Albinus <michael.albinus@gmx.de> | 2021-11-21 14:39:29 +0100 |
---|---|---|
committer | Michael Albinus <michael.albinus@gmx.de> | 2021-11-21 14:39:29 +0100 |
commit | 75d294cd4abb4d4062a1bfcd914229d0f9e142dd (patch) | |
tree | 2fd50e9b9f4d62bf1cbb0669aa4c3240cb4f145c /test/infra | |
parent | 6d90444ba0f5202553cf8c245b809c09fce1a317 (diff) | |
download | emacs-75d294cd4abb4d4062a1bfcd914229d0f9e142dd.tar.gz |
Reorganize emba control files
Using dynamic job generation in GitLab does not work sufficiently. So
we generate the jobs in the Emacs sources.
* configure.ac (SUBDIR_MAKEFILES): Add test/infra/Makefile.
* test/Makefile.in (subdirs, generate-test-jobs): New targets.
* test/infra/Makefile.in:
* test/infra/test-jobs.yml: New files.
* test/infra/default-gitlab-ci.yml:
* test/infra/test-jobs-generator.sh: Remove.
* test/infra/gitlab-ci.yml: Insert contents of default-gitlab-ci.yml.
(stages): Remove generator and trigger. Add normal.
(test-jobs-generator, test-jobs-pipeline): Remove jobs.
(top): Include test-jobs.yml.
Diffstat (limited to 'test/infra')
-rw-r--r-- | test/infra/Makefile.in | 86 | ||||
-rw-r--r-- | test/infra/default-gitlab-ci.yml | 216 | ||||
-rw-r--r-- | test/infra/gitlab-ci.yml | 208 | ||||
-rwxr-xr-x | test/infra/test-jobs-generator.sh | 75 | ||||
-rw-r--r-- | test/infra/test-jobs.yml | 362 |
5 files changed, 636 insertions, 311 deletions
diff --git a/test/infra/Makefile.in b/test/infra/Makefile.in new file mode 100644 index 00000000000..e91aea404d4 --- /dev/null +++ b/test/infra/Makefile.in @@ -0,0 +1,86 @@ +### test/infra/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 2021 Free Software Foundation, Inc. + +# This file is part of GNU Emacs. + +# GNU Emacs is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# GNU Emacs is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. + +### Commentary: + +## Generate the test-jobs.yml file for emba. + +### Code: + +SHELL = @SHELL@ + +top_builddir = @top_builddir@ + +-include ${top_builddir}/src/verbose.mk + +## Get the tests for only a specific directory. +SUBDIRS ?= $(shell make -s -C .. subdirs) +SUBDIR_TARGETS = +FILE = test-jobs.yml + +define subdir_template + $(eval target = check-$(subst /,-,$(1))) + SUBDIR_TARGETS += $(target) + + $(eval + ifeq ($(findstring src, $(1)), src) + define changes + @echo " - $(1)/*.{h,c}" >>$(FILE) + @echo " - test/$(1)/*.el" >>$(FILE) + endef + else ifeq ($(findstring misc, $(1)), misc) + define changes + @echo " - admin/*.el" >>$(FILE) + @echo " - test/$(1)/*.el" >>$(FILE) + endef + else + define changes + @echo " - $(1)/*.el" >>$(FILE) + @echo " - test/$(1)/*.el" >>$(FILE) + endef + endif) + + .PHONY: $(target) + + $(target): + @echo "test-$(subst /,-,$(1))-inotify:" >>$(FILE) + @echo " stage: normal" >>$(FILE) + @echo " extends: [.job-template, .test-template]" >>$(FILE) + @echo " rules:" >>$(FILE) + @echo " - changes:" >>$(FILE) + $(changes) + @echo " variables:" >>$(FILE) + @echo " target: emacs-inotify" >>$(FILE) + @echo " make_params: \"-C test $(target)\"" >>$(FILE) + @echo >>$(FILE) +endef + +$(foreach subdir, $(SUBDIRS), $(eval $(call subdir_template,$(subdir)))) + +all: generate-test-jobs + +.PHONY: generate-test-jobs $(FILE) + +generate-test-jobs: clean $(FILE) $(SUBDIR_TARGETS) + +$(FILE): + $(AM_V_GEN) + +clean: + @rm -f $(FILE) diff --git a/test/infra/default-gitlab-ci.yml b/test/infra/default-gitlab-ci.yml deleted file mode 100644 index f6fadee27f3..00000000000 --- a/test/infra/default-gitlab-ci.yml +++ /dev/null @@ -1,216 +0,0 @@ -# Copyright (C) 2017-2021 Free Software Foundation, Inc. -# -# This file is part of GNU Emacs. -# -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. - -# GNU Emacs support for the GitLab protocol for CI. - -# The presence of this file does not imply any FSF/GNU endorsement of -# any particular service that uses that protocol. Also, it is intended for -# evaluation purposes, thus possibly temporary. - -# Maintainer: Ted Zlatanov <tzz@lifelogs.com> -# URL: https://emba.gnu.org/emacs/emacs - -# Never run merge request pipelines, they usually duplicate push pipelines -# see https://docs.gitlab.com/ee/ci/yaml/README.html#common-if-clauses-for-rules - -# Rules: always run tags and branches named master*, emacs*, feature*, fix* -# Test that it triggers by pushing a tag: `git tag mytag; git push origin mytag` -# Test that it triggers by pushing to: feature/emba, feature1, master, master-2, fix/emba, emacs-299, fix-2 -# Test that it doesn't trigger by pushing to: scratch-2, scratch/emba, oldbranch, dev -workflow: - rules: - - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - when: never - - if: '$CI_COMMIT_TAG' - when: always - - if: '$CI_COMMIT_BRANCH !~ /^(master|emacs|feature|fix)/' - when: never - - when: always - -variables: - GIT_STRATEGY: fetch - EMACS_EMBA_CI: 1 - # Three hours, see below. - EMACS_TEST_TIMEOUT: 10800 - EMACS_TEST_VERBOSE: 1 - # Use TLS https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled - # DOCKER_HOST: tcp://docker:2376 - # DOCKER_TLS_CERTDIR: "/certs" - # Put the configuration for each run in a separate directory to - # avoid conflicts. - DOCKER_CONFIG: "/.docker-config-${CI_COMMIT_SHA}" - DOCKER_BUILDKIT: 1 - # We don't use ${CI_COMMIT_SHA} to be able to do one bootstrap - # 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" - -default: - image: docker:19.03.12 - timeout: 3 hours - before_script: - - docker info - - echo "docker registry is ${CI_REGISTRY}" - - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY} - -.job-template: - variables: - test_name: ${CI_JOB_NAME}-${CI_COMMIT_SHORT_SHA} - rules: - - changes: - - "**Makefile.in" - - .gitlab-ci.yml - - aclocal.m4 - - autogen.sh - - configure.ac - - lib/*.{h,c} - - lisp/**.el - - src/*.{h,c} - - test/infra/* - - test/lib-src/*.el - - test/lisp/**.el - - test/misc/*.el - - test/src/*.el - - changes: - # gfilemonitor, kqueue - - src/gfilenotify.c - - src/kqueue.c - # MS Windows - - "**w32*" - # GNUstep - - lisp/term/ns-win.el - - src/ns*.{h,m} - - src/macfont.{h,m} - when: never - # These will be cached across builds. - cache: - key: ${CI_COMMIT_SHA} - paths: [] - policy: pull-push - # These will be saved for followup builds. - artifacts: - expire_in: 24 hrs - paths: [] - # Using the variables for each job. - script: - - docker pull ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} - # TODO: with make -j4 several of the tests were failing, for - # example shadowfile-tests, but passed without it. - - 'export PWD=$(pwd)' - - 'docker run -i -e EMACS_EMBA_CI=${EMACS_EMBA_CI} -e EMACS_TEST_TIMEOUT=${EMACS_TEST_TIMEOUT} -e EMACS_TEST_VERBOSE=${EMACS_TEST_VERBOSE} --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 -c "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 -j4 && make ${make_params}"' - after_script: - # - docker ps -a - # - printenv - # - test -n "$(docker ps -aq -f name=${test_name})" && ( docker export ${test_name} | tar -tvf - ) - - test -n "$(docker ps -aq -f name=${test_name})" && docker cp ${test_name}:checkout/test ${test_name} - - test -n "$(docker ps -aq -f name=${test_name})" && docker rm ${test_name} - # - ls -alR ${test_name} - -.build-template: - needs: [] - rules: - - if: '$CI_PIPELINE_SOURCE == "web"' - when: always - - changes: - - "**Makefile.in" - - .gitlab-ci.yml - - aclocal.m4 - - autogen.sh - - configure.ac - - lib/*.{h,c} - - lisp/emacs-lisp/*.el - - src/*.{h,c} - - test/infra/* - - changes: - # gfilemonitor, kqueue - - src/gfilenotify.c - - src/kqueue.c - # MS Windows - - "**w32*" - # GNUstep - - lisp/term/ns-win.el - - src/ns*.{h,m} - - src/macfont.{h,m} - when: never - script: - - docker build --pull --target ${target} -t ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} -f test/infra/Dockerfile.emba . - - docker push ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} - -.test-template: - # Do not run fast and normal test jobs when scheduled. - rules: - - if: '$CI_JOB_STAGE =~ "fast|normal" && $CI_PIPELINE_SOURCE == "schedule"' - when: never - - when: always - artifacts: - name: ${test_name} - public: true - expire_in: 1 week - paths: - - ${test_name}/**/*.log - - ${test_name}/**/core - - ${test_name}/core - when: always - -.gnustep-template: - rules: - - if: '$CI_PIPELINE_SOURCE == "web"' - - if: '$CI_PIPELINE_SOURCE == "schedule"' - changes: - - "**Makefile.in" - - .gitlab-ci.yml - - configure.ac - - src/ns*.{h,m} - - src/macfont.{h,m} - - lisp/term/ns-win.el - - nextstep/** - - test/infra/* - -.filenotify-gio-template: - rules: - - if: '$CI_PIPELINE_SOURCE == "web"' - - if: '$CI_PIPELINE_SOURCE == "schedule"' - changes: - - "**Makefile.in" - - .gitlab-ci.yml - - lisp/autorevert.el - - lisp/filenotify.el - - lisp/net/tramp-sh.el - - src/gfilenotify.c - - test/infra/* - - test/lisp/autorevert-tests.el - - test/lisp/filenotify-tests.el - -.native-comp-template: - rules: - - if: '$CI_PIPELINE_SOURCE == "web"' - - if: '$CI_PIPELINE_SOURCE == "schedule"' - changes: - - "**Makefile.in" - - .gitlab-ci.yml - - lisp/emacs-lisp/comp.el - - lisp/emacs-lisp/comp-cstr.el - - src/comp.{h,m} - - test/infra/* - - test/src/comp-resources/*.el - - test/src/comp-tests.el - timeout: 8 hours - -# Local Variables: -# add-log-current-defun-header-regexp: "^\\([-_.[:alnum:]]+\\)[ \t]*:" -# End: diff --git a/test/infra/gitlab-ci.yml b/test/infra/gitlab-ci.yml index ebfe9965139..a0e2c283cde 100644 --- a/test/infra/gitlab-ci.yml +++ b/test/infra/gitlab-ci.yml @@ -24,15 +24,197 @@ # Maintainer: Ted Zlatanov <tzz@lifelogs.com> # URL: https://emba.gnu.org/emacs/emacs -# Include defaults. -include: '/test/infra/default-gitlab-ci.yml' +# Never run merge request pipelines, they usually duplicate push pipelines +# see https://docs.gitlab.com/ee/ci/yaml/README.html#common-if-clauses-for-rules + +# Rules: always run tags and branches named master*, emacs*, feature*, fix* +# Test that it triggers by pushing a tag: `git tag mytag; git push origin mytag` +# Test that it triggers by pushing to: feature/emba, feature1, master, master-2, fix/emba, emacs-299, fix-2 +# Test that it doesn't trigger by pushing to: scratch-2, scratch/emba, oldbranch, dev +workflow: + rules: + - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' + when: never + - if: '$CI_COMMIT_TAG' + when: always + - if: '$CI_COMMIT_BRANCH !~ /^(master|emacs|feature|fix)/' + when: never + - when: always + +variables: + GIT_STRATEGY: fetch + EMACS_EMBA_CI: 1 + # Three hours, see below. + EMACS_TEST_TIMEOUT: 10800 + EMACS_TEST_VERBOSE: 1 + # Use TLS https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled + # DOCKER_HOST: tcp://docker:2376 + # DOCKER_TLS_CERTDIR: "/certs" + # Put the configuration for each run in a separate directory to + # avoid conflicts. + DOCKER_CONFIG: "/.docker-config-${CI_COMMIT_SHA}" + DOCKER_BUILDKIT: 1 + # We don't use ${CI_COMMIT_SHA} to be able to do one bootstrap + # 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" + +default: + image: docker:19.03.12 + timeout: 3 hours + before_script: + - docker info + - echo "docker registry is ${CI_REGISTRY}" + - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY} + +.job-template: + variables: + test_name: ${CI_JOB_NAME}-${CI_COMMIT_SHORT_SHA} + rules: + - changes: + - "**Makefile.in" + - .gitlab-ci.yml + - aclocal.m4 + - autogen.sh + - configure.ac + - lib/*.{h,c} + - lisp/**.el + - src/*.{h,c} + - test/infra/* + - test/lib-src/*.el + - test/lisp/**.el + - test/misc/*.el + - test/src/*.el + - changes: + # gfilemonitor, kqueue + - src/gfilenotify.c + - src/kqueue.c + # MS Windows + - "**w32*" + # GNUstep + - lisp/term/ns-win.el + - src/ns*.{h,m} + - src/macfont.{h,m} + when: never + # These will be cached across builds. + cache: + key: ${CI_COMMIT_SHA} + paths: [] + policy: pull-push + # These will be saved for followup builds. + artifacts: + expire_in: 24 hrs + paths: [] + # Using the variables for each job. + script: + - docker pull ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} + # TODO: with make -j4 several of the tests were failing, for + # example shadowfile-tests, but passed without it. + - 'export PWD=$(pwd)' + - 'docker run -i -e EMACS_EMBA_CI=${EMACS_EMBA_CI} -e EMACS_TEST_TIMEOUT=${EMACS_TEST_TIMEOUT} -e EMACS_TEST_VERBOSE=${EMACS_TEST_VERBOSE} --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 -c "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 -j4 && make ${make_params}"' + after_script: + # - docker ps -a + # - printenv + # - test -n "$(docker ps -aq -f name=${test_name})" && ( docker export ${test_name} | tar -tvf - ) + - test -n "$(docker ps -aq -f name=${test_name})" && docker cp ${test_name}:checkout/test ${test_name} + - test -n "$(docker ps -aq -f name=${test_name})" && docker rm ${test_name} + # - ls -alR ${test_name} + +.build-template: + needs: [] + rules: + - if: '$CI_PIPELINE_SOURCE == "web"' + when: always + - changes: + - "**Makefile.in" + - .gitlab-ci.yml + - aclocal.m4 + - autogen.sh + - configure.ac + - lib/*.{h,c} + - lisp/emacs-lisp/*.el + - src/*.{h,c} + - test/infra/* + - changes: + # gfilemonitor, kqueue + - src/gfilenotify.c + - src/kqueue.c + # MS Windows + - "**w32*" + # GNUstep + - lisp/term/ns-win.el + - src/ns*.{h,m} + - src/macfont.{h,m} + when: never + script: + - docker build --pull --target ${target} -t ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} -f test/infra/Dockerfile.emba . + - docker push ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} + +.test-template: + # Do not run fast and normal test jobs when scheduled. + rules: + - if: '$CI_JOB_STAGE =~ "fast|normal" && $CI_PIPELINE_SOURCE == "schedule"' + when: never + - when: always + artifacts: + name: ${test_name} + public: true + expire_in: 1 week + paths: + - ${test_name}/**/*.log + - ${test_name}/**/core + - ${test_name}/core + when: always + +.gnustep-template: + rules: + - if: '$CI_PIPELINE_SOURCE == "web"' + - if: '$CI_PIPELINE_SOURCE == "schedule"' + changes: + - "**Makefile.in" + - .gitlab-ci.yml + - configure.ac + - src/ns*.{h,m} + - src/macfont.{h,m} + - lisp/term/ns-win.el + - nextstep/** + - test/infra/* + +.filenotify-gio-template: + rules: + - if: '$CI_PIPELINE_SOURCE == "web"' + - if: '$CI_PIPELINE_SOURCE == "schedule"' + changes: + - "**Makefile.in" + - .gitlab-ci.yml + - lisp/autorevert.el + - lisp/filenotify.el + - lisp/net/tramp-sh.el + - src/gfilenotify.c + - test/infra/* + - test/lisp/autorevert-tests.el + - test/lisp/filenotify-tests.el + +.native-comp-template: + rules: + - if: '$CI_PIPELINE_SOURCE == "web"' + - if: '$CI_PIPELINE_SOURCE == "schedule"' + changes: + - "**Makefile.in" + - .gitlab-ci.yml + - lisp/emacs-lisp/comp.el + - lisp/emacs-lisp/comp-cstr.el + - src/comp.{h,m} + - test/infra/* + - test/src/comp-resources/*.el + - test/src/comp-tests.el + timeout: 8 hours stages: - build-images - - generator - - trigger # - fast -# - normal + - normal - platform-images - platforms - native-comp-images @@ -52,21 +234,7 @@ build-image-inotify: # target: emacs-inotify # make_params: "-C test check" -test-jobs-generator: - stage: generator - script: - - test/infra/test-jobs-generator.sh > test-jobs.yml - artifacts: - paths: - - test-jobs.yml - -test-jobs-pipeline: - stage: trigger - trigger: - include: - - artifact: test-jobs.yml - job: test-jobs-generator - strategy: depend +include: '/test/infra/test-jobs.yml' # test-lisp-inotify: # stage: normal diff --git a/test/infra/test-jobs-generator.sh b/test/infra/test-jobs-generator.sh deleted file mode 100755 index c40570cbc30..00000000000 --- a/test/infra/test-jobs-generator.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2021 Free Software Foundation, Inc. -# -# This file is part of GNU Emacs. -# -# GNU Emacs is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# GNU Emacs is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. - -# GNU Emacs support for the gitlab-ci.yml template generation. - -# The presence of this file does not imply any FSF/GNU endorsement of -# any particular service that uses that protocol. Also, it is intended for -# evaluation purposes, thus possibly temporary. - -# Maintainer: Michael Albinus <michael.albinus@gmx.de> -# URL: https://emba.gnu.org/emacs/emacs - -cd test -SUBDIRS=\ -$(find lib-src lisp misc src -type d \ - ! \( -path "*resources*" -o -path "*auto-save-list" \) -print | sort -) - -for subdir in $SUBDIRS; do - target=check-$(echo $subdir | tr '/' '-') - - case $target in - check*-src) - changes=" - - $subdir/*.{h,c} - - test/$subdir/*.el" - ;; - check-misc) - changes=" - - admin/*.el - - test/$subdir/*.el" - ;; - *) - changes=" - - $subdir/*.el - - test/$subdir/*.el" - ;; - esac - - cat <<EOF -include: - - local: '/test/infra/default-gitlab-ci.yml' - -stages: - - test - -EOF - - cat <<EOF -test${target##check}-inotify: - stage: test - extends: [.job-template, .test-template] - rules: - - changes: $changes - variables: - target: emacs-inotify - make_params: "-C test $target" - -EOF -done diff --git a/test/infra/test-jobs.yml b/test/infra/test-jobs.yml new file mode 100644 index 00000000000..9fb15081bd4 --- /dev/null +++ b/test/infra/test-jobs.yml @@ -0,0 +1,362 @@ +test-lib-src-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lib-src/*.{h,c} + - test/lib-src/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lib-src" + +test-lisp-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/*.el + - test/lisp/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp" + +test-lisp-calc-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/calc/*.el + - test/lisp/calc/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-calc" + +test-lisp-calendar-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/calendar/*.el + - test/lisp/calendar/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-calendar" + +test-lisp-cedet-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/cedet/*.el + - test/lisp/cedet/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-cedet" + +test-lisp-cedet-semantic-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/cedet/semantic/*.el + - test/lisp/cedet/semantic/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-cedet-semantic" + +test-lisp-cedet-semantic-bovine-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/cedet/semantic/bovine/*.el + - test/lisp/cedet/semantic/bovine/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-cedet-semantic-bovine" + +test-lisp-cedet-srecode-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/cedet/srecode/*.el + - test/lisp/cedet/srecode/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-cedet-srecode" + +test-lisp-emacs-lisp-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/emacs-lisp/*.el + - test/lisp/emacs-lisp/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-emacs-lisp" + +test-lisp-emacs-lisp-eieio-tests-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/emacs-lisp/eieio-tests/*.el + - test/lisp/emacs-lisp/eieio-tests/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-emacs-lisp-eieio-tests" + +test-lisp-emacs-lisp-faceup-tests-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/emacs-lisp/faceup-tests/*.el + - test/lisp/emacs-lisp/faceup-tests/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-emacs-lisp-faceup-tests" + +test-lisp-emulation-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/emulation/*.el + - test/lisp/emulation/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-emulation" + +test-lisp-erc-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/erc/*.el + - test/lisp/erc/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-erc" + +test-lisp-eshell-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/eshell/*.el + - test/lisp/eshell/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-eshell" + +test-lisp-gnus-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/gnus/*.el + - test/lisp/gnus/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-gnus" + +test-lisp-image-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/image/*.el + - test/lisp/image/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-image" + +test-lisp-international-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/international/*.el + - test/lisp/international/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-international" + +test-lisp-legacy-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/legacy/*.el + - test/lisp/legacy/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-legacy" + +test-lisp-mail-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/mail/*.el + - test/lisp/mail/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-mail" + +test-lisp-mh-e-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/mh-e/*.el + - test/lisp/mh-e/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-mh-e" + +test-lisp-net-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/net/*.el + - test/lisp/net/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-net" + +test-lisp-nxml-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/nxml/*.el + - test/lisp/nxml/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-nxml" + +test-lisp-obsolete-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/obsolete/*.el + - test/lisp/obsolete/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-obsolete" + +test-lisp-org-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/org/*.el + - test/lisp/org/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-org" + +test-lisp-play-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/play/*.el + - test/lisp/play/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-play" + +test-lisp-progmodes-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/progmodes/*.el + - test/lisp/progmodes/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-progmodes" + +test-lisp-so-long-tests-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/so-long-tests/*.el + - test/lisp/so-long-tests/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-so-long-tests" + +test-lisp-term-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/term/*.el + - test/lisp/term/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-term" + +test-lisp-textmodes-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/textmodes/*.el + - test/lisp/textmodes/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-textmodes" + +test-lisp-url-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/url/*.el + - test/lisp/url/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-url" + +test-lisp-vc-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - lisp/vc/*.el + - test/lisp/vc/*.el + variables: + target: emacs-inotify + make_params: "-C test check-lisp-vc" + +test-misc-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - admin/*.el + - test/misc/*.el + variables: + target: emacs-inotify + make_params: "-C test check-misc" + +test-src-inotify: + stage: normal + extends: [.job-template, .test-template] + rules: + - changes: + - src/*.{h,c} + - test/src/*.el + variables: + target: emacs-inotify + make_params: "-C test check-src" |