unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "J.P." <jp@neverwas.me>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: 48598@debbugs.gnu.org, Lars Ingebrigtsen <larsi@gnus.org>,
	emacs-erc@gnu.org
Subject: bug#48598: 28.0.50; buffer-naming collisions involving bouncers in ERC
Date: Fri, 15 Apr 2022 06:02:02 -0700	[thread overview]
Message-ID: <87v8vah54l.fsf__12098.6669602402$1650027799$gmane$org@neverwas.me> (raw)
In-Reply-To: <87sfqi2119.fsf@gmx.de> (Michael Albinus's message of "Tue, 12 Apr 2022 09:50:26 +0200")

[-- Attachment #1: Type: text/plain, Size: 2725 bytes --]

Hi Michael,

Michael Albinus <michael.albinus@gmx.de> writes:

> The test targets for EMBA are generated. If there is a subdirectory
> test/lisp/erc/erc-d, a respective target will appear.
>
> The test-all-inotify job covers all tests, also the tests in subsubdirectories.
>
> Best regards, Michael.

Thanks for patiently explaining yet again. I really should've been more
mindful of your time and studied up a bit before reaching out. But if
you'll allow me more excuses, part of what threw me about the
subdir-discovery situation was that the "normal" stage of the initial
(new branch) pipeline of fix/bug-48598 didn't include a job named
test-lisp-erc-erc-d-inotify [1].

And not that this matters in the slightest, but in an ideal world, *all*
of ERC's stable tests would *always* run (including the expensive ones),
both for jobs in diff-based, push pipelines (test-lisp-erc*-inotify) and
those in the thrice-daily, scheduled ones (test-all-inotify). Also ideal
would be having those tests that live in subdirs of test/lisp/erc (such
as test/lisp/erc/erc-d) run as part of the "main" job
(test-lisp-erc-inotify) rather than only when some change touches their
little area.

FWIW, I've attached some shoddy infra-related patches, mainly as a means
of better illustrating the aforementioned pie-in-the-sky behavior [2].
Regardless, I realize that giving ERC special treatment is likely not in
the cards. As such, I'm planning on rigging up our own CI setup for
testing proposed changes that hit the bug tracker (especially against
older Emacs versions) [3]. When the time comes, any guidance you might
spare will be greatly appreciated.

Thanks,
J.P.

P.S. I'll try and refrain from bothering you again in the (immediate)
future.


[1] https://emba.gnu.org/emacs/emacs/-/pipelines/16954

    I suppose that's because it was based on a preexisting
    test/infra/test-jobs.yml (?).

[2] That said, a flimsy rationale for the first one might be that it
    makes it slightly easier on external tooling trying to leverage
    existing in-tree recipes (but that's probably a stretch). Right now,
    I'm doing stuff like

    make -C test SELECTOR="(...)" check-lisp-foo

    everywhere. Not a major hassle, but it'd be nice to skip the
    SELECTOR part, especially when invoking Make by hand. (Just a
    thought.)

[3] If anyone out there cares, it'll also deploy ERC packages built from
    open bug sets to our own little ELPA to make it easier on everyday
    folks wanting to give feedback on proposed changes. Actually, we've
    already been doing all of this for over a year, only this time
    around, the idea is to make it less amateurish and have it run on
    Savannah or somewhere other than big cloud infra.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-POC-CHECK-Add-check-expensive-prefixes-for-test-subd.patch --]
[-- Type: text/x-patch, Size: 1175 bytes --]

From 750af6c4b42f2d4b2304cb3e693f266bb2bb62c8 Mon Sep 17 00:00:00 2001
From: "F. Jason Park" <jp@neverwas.me>
Date: Wed, 13 Apr 2022 21:03:36 -0700
Subject: [PATCH 1/2] [POC CHECK] Add check-expensive- prefixes for test-subdir
 targets

* test/Makefile.in (subdir_template): Convert all targets like
'check-{lisp,src}-mylib' to multi-targets (info "(make) Multiple
Targets") that also match 'check-expensive-{lisp,src}-mylib' variants.
---
 test/Makefile.in | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/test/Makefile.in b/test/Makefile.in
index 3b6e116e65..445101f430 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -245,9 +245,10 @@ SUBDIR_TARGETS =
 
 define subdir_template
   SUBDIR_TARGETS += check-$(subst /,-,$(1))
-  .PHONY: check-$(subst /,-,$(1))
-  check-$(subst /,-,$(1)):
-	@${MAKE} check LOGFILES="$(patsubst %.el,%.log, \
+  .PHONY: check-$(subst /,-,$(1)) check-expensive-$(subst /,-,$(1))
+  check-$(subst /,-,$(1)) check-expensive-$(subst /,-,$(1)):
+	@${MAKE} $$(subst -$(subst /,-,$(1)),,$$@) \
+		LOGFILES="$(patsubst %.el,%.log, \
 		$(patsubst $(srcdir)/%,%,$(wildcard ${srcdir}/$(1)/*.el)))"
 endef
 
-- 
2.35.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-POC-CHECK-Allow-check-expensive-target-for-generated.patch --]
[-- Type: text/x-patch, Size: 993 bytes --]

From c0183f22c92507b860866facbc4815bc4a4a98f7 Mon Sep 17 00:00:00 2001
From: "F. Jason Park" <jp@neverwas.me>
Date: Wed, 13 Apr 2022 22:43:10 -0700
Subject: [PATCH 2/2] [POC CHECK] Allow check-expensive target for generated
 test jobs

* test/infra/Makefile.in: Always run expensive tests for generated ERC
jobs.
---
 test/infra/Makefile.in | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/test/infra/Makefile.in b/test/infra/Makefile.in
index c251578e6a..0d44d96b4c 100644
--- a/test/infra/Makefile.in
+++ b/test/infra/Makefile.in
@@ -35,9 +35,14 @@ SUBDIR_TARGETS =
 FILE = test-jobs.yml
 tn = $$$${test_name}
 cps = $$$$CI_PIPELINE_SOURCE
+ALWAYS_EXPENSIVE = lisp/erc
 
 define subdir_template
-  $(eval target = check-$(subst /,-,$(1)))
+  $(eval
+  target = check-$(subst /,-,$(1))
+  ifneq ($(foreach d, $(ALWAYS_EXPENSIVE), $(findstring $(d),$(1))),)
+	target = check-expensive-$(subst /,-,$(1))
+  endif)
   SUBDIR_TARGETS += $(target)
 
   $(eval
-- 
2.35.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0001-POC-GROUP-Allow-shared-triggering-of-subdir-tests.patch --]
[-- Type: text/x-patch, Size: 2441 bytes --]

From f2b8c5f2f8ef4efe5dc3c05139308e1e83a98788 Mon Sep 17 00:00:00 2001
From: "F. Jason Park" <jp@neverwas.me>
Date: Thu, 14 Apr 2022 20:39:24 -0700
Subject: [PATCH] [POC GROUP] Allow shared triggering of subdir tests

* test/infra/Makefile.in: For certain libraries, collect subdirs and
defer rendering of generated YAML until after initial run.
---
 test/infra/Makefile.in | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/test/infra/Makefile.in b/test/infra/Makefile.in
index c251578e6a..e4a6dafce9 100644
--- a/test/infra/Makefile.in
+++ b/test/infra/Makefile.in
@@ -35,10 +35,23 @@ SUBDIR_TARGETS =
 FILE = test-jobs.yml
 tn = $$$${test_name}
 cps = $$$$CI_PIPELINE_SOURCE
+# Library groups for which changes trigger all tests in the hierarchy
+GROUPED = lisp/erc
 
 define subdir_template
   $(eval target = check-$(subst /,-,$(1)))
-  SUBDIR_TARGETS += $(target)
+  $(eval found_deferred = $(foreach d, $(GROUPED), $(findstring $(d), $(1))))
+  $(eval
+    deferring =
+    ifneq ($(SUBDIRS_DEFERRED),)
+    target = $(foreach d, $(defer_$(subst /,-,$(1))),check-$(subst /,-,$(d)))
+    SUBDIR_TARGETS += $(target)
+    else ifneq ($(found_deferred),)
+    defer_$(subst /,-,$(firstword $(found_deferred))) += $(1)
+    deferring = 1
+    else
+    SUBDIR_TARGETS += $(target)
+    endif)
 
   $(eval
     ifeq ($(findstring src, $(1)), src)
@@ -61,12 +74,23 @@ define subdir_template
     define changes
 	@echo '        - admin/*.el' >>$(FILE)
     endef
+    else ifneq ($(SUBDIRS_DEFERRED),)
+    define changes
+	@printf '%s\n' \
+	$(foreach d, $(defer_$(subst /,-,$(1))), \
+	'        - $(d)/*.el' \
+	$(and $(subst $(1),,$(d)), \
+	'        - test/$(d)/*.el' \
+	'        - test/$(d)/*resources/**' \
+	)) >>$(FILE)
+    endef
     else
     define changes
 	@echo '        - $(1)/*.el' >>$(FILE)
     endef
     endif)
 
+  ifeq ($(deferring),)
   $(target):
 	@echo >>$(FILE)
 	@echo 'test-$(subst /,-,$(1))-inotify:' >>$(FILE)
@@ -85,9 +109,12 @@ define subdir_template
 	@echo '  variables:' >>$(FILE)
 	@echo '    target: emacs-inotify' >>$(FILE)
 	@echo '    make_params: "-k -C test $(target)"' >>$(FILE)
+  endif
 endef
 
 $(foreach subdir, $(SUBDIRS), $(eval $(call subdir_template,$(subdir))))
+SUBDIRS_DEFERRED = $(filter $(GROUPED),$(SUBDIRS))
+$(foreach subdir, $(SUBDIRS_DEFERRED), $(eval $(call subdir_template,$(subdir))))
 
 all: generate-test-jobs
 
-- 
2.35.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #5: test-jobs-check.diff --]
[-- Type: text/x-patch, Size: 730 bytes --]

diff --git a/test-jobs-orig.yml b/test-jobs-check-expensive.yml
index b10f6a9df7..76043d8bf4 100644
--- a/test-jobs-orig.yml
+++ b/test-jobs-check-expensive.yml
@@ -219,7 +219,7 @@ test-lisp-erc-inotify:
         - test/lisp/erc/*resources/**
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-erc"
+    make_params: "-k -C test check-expensive-lisp-erc"
 
 test-lisp-erc-erc-d-inotify:
   stage: normal
@@ -236,7 +236,7 @@ test-lisp-erc-erc-d-inotify:
         - test/lisp/erc/erc-d/*resources/**
   variables:
     target: emacs-inotify
-    make_params: "-k -C test check-lisp-erc-erc-d"
+    make_params: "-k -C test check-expensive-lisp-erc-erc-d"
 
 test-lisp-eshell-inotify:
   stage: normal

[-- Attachment #6: test-jobs-check-want.yml --]
[-- Type: application/octet-stream, Size: 14181 bytes --]

# Generated by "make generate-test-jobs", don't edit.

test-lib-src-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lib-src/*.{h,c}
        - test/lib-src/*.el
        - test/lib-src/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lib-src"

test-lisp-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/*.el
        - test/lisp/*.el
        - test/lisp/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp"

test-lisp-calc-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/calc/*.el
        - test/lisp/calc/*.el
        - test/lisp/calc/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-calc"

test-lisp-calendar-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/calendar/*.el
        - test/lisp/calendar/*.el
        - test/lisp/calendar/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-calendar"

test-lisp-cedet-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/cedet/*.el
        - test/lisp/cedet/*.el
        - test/lisp/cedet/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-cedet"

test-lisp-cedet-semantic-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/cedet/semantic/*.el
        - test/lisp/cedet/semantic/*.el
        - test/lisp/cedet/semantic/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-cedet-semantic"

test-lisp-cedet-semantic-bovine-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/cedet/semantic/bovine/*.el
        - test/lisp/cedet/semantic/bovine/*.el
        - test/lisp/cedet/semantic/bovine/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-cedet-semantic-bovine"

test-lisp-cedet-srecode-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/cedet/srecode/*.el
        - test/lisp/cedet/srecode/*.el
        - test/lisp/cedet/srecode/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-cedet-srecode"

test-lisp-emacs-lisp-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/emacs-lisp/*.el
        - test/lisp/emacs-lisp/*.el
        - test/lisp/emacs-lisp/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-emacs-lisp"

test-lisp-emacs-lisp-eieio-tests-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/emacs-lisp/eieio*.el
        - test/lisp/emacs-lisp/eieio-tests/*.el
        - test/lisp/emacs-lisp/eieio-tests/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-emacs-lisp-eieio-tests"

test-lisp-emacs-lisp-faceup-tests-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/emacs-lisp/faceup*.el
        - test/lisp/emacs-lisp/faceup-tests/*.el
        - test/lisp/emacs-lisp/faceup-tests/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-emacs-lisp-faceup-tests"

test-lisp-emulation-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/emulation/*.el
        - test/lisp/emulation/*.el
        - test/lisp/emulation/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-emulation"

test-lisp-erc-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/erc/*.el
        - test/lisp/erc/*.el
        - test/lisp/erc/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-expensive-lisp-erc"

test-lisp-erc-erc-d-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/erc/erc-d/*.el
        - test/lisp/erc/erc-d/*.el
        - test/lisp/erc/erc-d/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-expensive-lisp-erc-erc-d"

test-lisp-eshell-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/eshell/*.el
        - test/lisp/eshell/*.el
        - test/lisp/eshell/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-eshell"

test-lisp-gnus-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/gnus/*.el
        - test/lisp/gnus/*.el
        - test/lisp/gnus/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-gnus"

test-lisp-image-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/image/*.el
        - test/lisp/image/*.el
        - test/lisp/image/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-image"

test-lisp-international-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/international/*.el
        - test/lisp/international/*.el
        - test/lisp/international/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-international"

test-lisp-mail-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/mail/*.el
        - test/lisp/mail/*.el
        - test/lisp/mail/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-mail"

test-lisp-mh-e-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/mh-e/*.el
        - test/lisp/mh-e/*.el
        - test/lisp/mh-e/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-mh-e"

test-lisp-net-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/net/*.el
        - test/lisp/net/*.el
        - test/lisp/net/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-net"

test-lisp-nxml-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/nxml/*.el
        - test/lisp/nxml/*.el
        - test/lisp/nxml/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-nxml"

test-lisp-obsolete-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/obsolete/*.el
        - test/lisp/obsolete/*.el
        - test/lisp/obsolete/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-obsolete"

test-lisp-org-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/org/*.el
        - test/lisp/org/*.el
        - test/lisp/org/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-org"

test-lisp-play-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/play/*.el
        - test/lisp/play/*.el
        - test/lisp/play/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-play"

test-lisp-progmodes-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/progmodes/*.el
        - test/lisp/progmodes/*.el
        - test/lisp/progmodes/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-progmodes"

test-lisp-so-long-tests-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/so-long*.el
        - test/lisp/so-long-tests/*.el
        - test/lisp/so-long-tests/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-so-long-tests"

test-lisp-term-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/term/*.el
        - test/lisp/term/*.el
        - test/lisp/term/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-term"

test-lisp-textmodes-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/textmodes/*.el
        - test/lisp/textmodes/*.el
        - test/lisp/textmodes/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-textmodes"

test-lisp-url-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/url/*.el
        - test/lisp/url/*.el
        - test/lisp/url/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-url"

test-lisp-vc-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/vc/*.el
        - test/lisp/vc/*.el
        - test/lisp/vc/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-vc"

test-misc-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - admin/*.el
        - test/misc/*.el
        - test/misc/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-misc"

test-src-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - src/*.{h,c}
        - test/src/*.el
        - test/src/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-src"

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #7: test-jobs-group.diff --]
[-- Type: text/x-patch, Size: 1914 bytes --]

diff --git a/test-jobs-orig.yml b/test-jobs-want.yml
index b10f6a9df7..347d907a50 100644
--- a/test-jobs-orig.yml
+++ b/test-jobs-want.yml
@@ -204,40 +204,6 @@ test-lisp-emulation-inotify:
     target: emacs-inotify
     make_params: "-k -C test check-lisp-emulation"
 
-test-lisp-erc-inotify:
-  stage: normal
-  extends: [.job-template, .test-template]
-  needs:
-    - job: build-image-inotify
-      optional: true
-  rules:
-    - if: '$CI_PIPELINE_SOURCE == "schedule"'
-      when: never
-    - changes:
-        - lisp/erc/*.el
-        - test/lisp/erc/*.el
-        - test/lisp/erc/*resources/**
-  variables:
-    target: emacs-inotify
-    make_params: "-k -C test check-lisp-erc"
-
-test-lisp-erc-erc-d-inotify:
-  stage: normal
-  extends: [.job-template, .test-template]
-  needs:
-    - job: build-image-inotify
-      optional: true
-  rules:
-    - if: '$CI_PIPELINE_SOURCE == "schedule"'
-      when: never
-    - changes:
-        - lisp/erc/erc-d/*.el
-        - test/lisp/erc/erc-d/*.el
-        - test/lisp/erc/erc-d/*resources/**
-  variables:
-    target: emacs-inotify
-    make_params: "-k -C test check-lisp-erc-erc-d"
-
 test-lisp-eshell-inotify:
   stage: normal
   extends: [.job-template, .test-template]
@@ -560,3 +526,23 @@ test-src-inotify:
   variables:
     target: emacs-inotify
     make_params: "-k -C test check-src"
+
+test-lisp-erc-inotify:
+  stage: normal
+  extends: [.job-template, .test-template]
+  needs:
+    - job: build-image-inotify
+      optional: true
+  rules:
+    - if: '$CI_PIPELINE_SOURCE == "schedule"'
+      when: never
+    - changes:
+        - lisp/erc/*.el
+        - lisp/erc/erc-d/*.el
+        - test/lisp/erc/erc-d/*.el
+        - test/lisp/erc/erc-d/*resources/**
+        - test/lisp/erc/*.el
+        - test/lisp/erc/*resources/**
+  variables:
+    target: emacs-inotify
+    make_params: "-k -C test check-lisp-erc check-lisp-erc-erc-d"

[-- Attachment #8: test-jobs-group-want.yml --]
[-- Type: application/octet-stream, Size: 13854 bytes --]

# Generated by "make generate-test-jobs", don't edit.

test-lib-src-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lib-src/*.{h,c}
        - test/lib-src/*.el
        - test/lib-src/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lib-src"

test-lisp-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/*.el
        - test/lisp/*.el
        - test/lisp/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp"

test-lisp-calc-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/calc/*.el
        - test/lisp/calc/*.el
        - test/lisp/calc/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-calc"

test-lisp-calendar-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/calendar/*.el
        - test/lisp/calendar/*.el
        - test/lisp/calendar/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-calendar"

test-lisp-cedet-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/cedet/*.el
        - test/lisp/cedet/*.el
        - test/lisp/cedet/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-cedet"

test-lisp-cedet-semantic-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/cedet/semantic/*.el
        - test/lisp/cedet/semantic/*.el
        - test/lisp/cedet/semantic/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-cedet-semantic"

test-lisp-cedet-semantic-bovine-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/cedet/semantic/bovine/*.el
        - test/lisp/cedet/semantic/bovine/*.el
        - test/lisp/cedet/semantic/bovine/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-cedet-semantic-bovine"

test-lisp-cedet-srecode-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/cedet/srecode/*.el
        - test/lisp/cedet/srecode/*.el
        - test/lisp/cedet/srecode/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-cedet-srecode"

test-lisp-emacs-lisp-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/emacs-lisp/*.el
        - test/lisp/emacs-lisp/*.el
        - test/lisp/emacs-lisp/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-emacs-lisp"

test-lisp-emacs-lisp-eieio-tests-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/emacs-lisp/eieio*.el
        - test/lisp/emacs-lisp/eieio-tests/*.el
        - test/lisp/emacs-lisp/eieio-tests/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-emacs-lisp-eieio-tests"

test-lisp-emacs-lisp-faceup-tests-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/emacs-lisp/faceup*.el
        - test/lisp/emacs-lisp/faceup-tests/*.el
        - test/lisp/emacs-lisp/faceup-tests/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-emacs-lisp-faceup-tests"

test-lisp-emulation-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/emulation/*.el
        - test/lisp/emulation/*.el
        - test/lisp/emulation/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-emulation"

test-lisp-eshell-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/eshell/*.el
        - test/lisp/eshell/*.el
        - test/lisp/eshell/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-eshell"

test-lisp-gnus-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/gnus/*.el
        - test/lisp/gnus/*.el
        - test/lisp/gnus/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-gnus"

test-lisp-image-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/image/*.el
        - test/lisp/image/*.el
        - test/lisp/image/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-image"

test-lisp-international-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/international/*.el
        - test/lisp/international/*.el
        - test/lisp/international/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-international"

test-lisp-mail-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/mail/*.el
        - test/lisp/mail/*.el
        - test/lisp/mail/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-mail"

test-lisp-mh-e-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/mh-e/*.el
        - test/lisp/mh-e/*.el
        - test/lisp/mh-e/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-mh-e"

test-lisp-net-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/net/*.el
        - test/lisp/net/*.el
        - test/lisp/net/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-net"

test-lisp-nxml-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/nxml/*.el
        - test/lisp/nxml/*.el
        - test/lisp/nxml/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-nxml"

test-lisp-obsolete-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/obsolete/*.el
        - test/lisp/obsolete/*.el
        - test/lisp/obsolete/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-obsolete"

test-lisp-org-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/org/*.el
        - test/lisp/org/*.el
        - test/lisp/org/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-org"

test-lisp-play-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/play/*.el
        - test/lisp/play/*.el
        - test/lisp/play/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-play"

test-lisp-progmodes-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/progmodes/*.el
        - test/lisp/progmodes/*.el
        - test/lisp/progmodes/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-progmodes"

test-lisp-so-long-tests-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/so-long*.el
        - test/lisp/so-long-tests/*.el
        - test/lisp/so-long-tests/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-so-long-tests"

test-lisp-term-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/term/*.el
        - test/lisp/term/*.el
        - test/lisp/term/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-term"

test-lisp-textmodes-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/textmodes/*.el
        - test/lisp/textmodes/*.el
        - test/lisp/textmodes/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-textmodes"

test-lisp-url-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/url/*.el
        - test/lisp/url/*.el
        - test/lisp/url/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-url"

test-lisp-vc-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/vc/*.el
        - test/lisp/vc/*.el
        - test/lisp/vc/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-vc"

test-misc-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - admin/*.el
        - test/misc/*.el
        - test/misc/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-misc"

test-src-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - src/*.{h,c}
        - test/src/*.el
        - test/src/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-src"

test-lisp-erc-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/erc/*.el
        - lisp/erc/erc-d/*.el
        - test/lisp/erc/erc-d/*.el
        - test/lisp/erc/erc-d/*resources/**
        - test/lisp/erc/*.el
        - test/lisp/erc/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-erc check-lisp-erc-erc-d"

[-- Attachment #9: test-jobs-orig.yml --]
[-- Type: application/octet-stream, Size: 14161 bytes --]

# Generated by "make generate-test-jobs", don't edit.

test-lib-src-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lib-src/*.{h,c}
        - test/lib-src/*.el
        - test/lib-src/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lib-src"

test-lisp-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/*.el
        - test/lisp/*.el
        - test/lisp/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp"

test-lisp-calc-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/calc/*.el
        - test/lisp/calc/*.el
        - test/lisp/calc/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-calc"

test-lisp-calendar-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/calendar/*.el
        - test/lisp/calendar/*.el
        - test/lisp/calendar/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-calendar"

test-lisp-cedet-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/cedet/*.el
        - test/lisp/cedet/*.el
        - test/lisp/cedet/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-cedet"

test-lisp-cedet-semantic-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/cedet/semantic/*.el
        - test/lisp/cedet/semantic/*.el
        - test/lisp/cedet/semantic/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-cedet-semantic"

test-lisp-cedet-semantic-bovine-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/cedet/semantic/bovine/*.el
        - test/lisp/cedet/semantic/bovine/*.el
        - test/lisp/cedet/semantic/bovine/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-cedet-semantic-bovine"

test-lisp-cedet-srecode-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/cedet/srecode/*.el
        - test/lisp/cedet/srecode/*.el
        - test/lisp/cedet/srecode/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-cedet-srecode"

test-lisp-emacs-lisp-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/emacs-lisp/*.el
        - test/lisp/emacs-lisp/*.el
        - test/lisp/emacs-lisp/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-emacs-lisp"

test-lisp-emacs-lisp-eieio-tests-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/emacs-lisp/eieio*.el
        - test/lisp/emacs-lisp/eieio-tests/*.el
        - test/lisp/emacs-lisp/eieio-tests/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-emacs-lisp-eieio-tests"

test-lisp-emacs-lisp-faceup-tests-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/emacs-lisp/faceup*.el
        - test/lisp/emacs-lisp/faceup-tests/*.el
        - test/lisp/emacs-lisp/faceup-tests/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-emacs-lisp-faceup-tests"

test-lisp-emulation-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/emulation/*.el
        - test/lisp/emulation/*.el
        - test/lisp/emulation/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-emulation"

test-lisp-erc-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/erc/*.el
        - test/lisp/erc/*.el
        - test/lisp/erc/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-erc"

test-lisp-erc-erc-d-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/erc/erc-d/*.el
        - test/lisp/erc/erc-d/*.el
        - test/lisp/erc/erc-d/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-erc-erc-d"

test-lisp-eshell-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/eshell/*.el
        - test/lisp/eshell/*.el
        - test/lisp/eshell/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-eshell"

test-lisp-gnus-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/gnus/*.el
        - test/lisp/gnus/*.el
        - test/lisp/gnus/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-gnus"

test-lisp-image-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/image/*.el
        - test/lisp/image/*.el
        - test/lisp/image/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-image"

test-lisp-international-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/international/*.el
        - test/lisp/international/*.el
        - test/lisp/international/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-international"

test-lisp-mail-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/mail/*.el
        - test/lisp/mail/*.el
        - test/lisp/mail/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-mail"

test-lisp-mh-e-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/mh-e/*.el
        - test/lisp/mh-e/*.el
        - test/lisp/mh-e/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-mh-e"

test-lisp-net-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/net/*.el
        - test/lisp/net/*.el
        - test/lisp/net/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-net"

test-lisp-nxml-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/nxml/*.el
        - test/lisp/nxml/*.el
        - test/lisp/nxml/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-nxml"

test-lisp-obsolete-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/obsolete/*.el
        - test/lisp/obsolete/*.el
        - test/lisp/obsolete/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-obsolete"

test-lisp-org-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/org/*.el
        - test/lisp/org/*.el
        - test/lisp/org/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-org"

test-lisp-play-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/play/*.el
        - test/lisp/play/*.el
        - test/lisp/play/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-play"

test-lisp-progmodes-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/progmodes/*.el
        - test/lisp/progmodes/*.el
        - test/lisp/progmodes/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-progmodes"

test-lisp-so-long-tests-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/so-long*.el
        - test/lisp/so-long-tests/*.el
        - test/lisp/so-long-tests/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-so-long-tests"

test-lisp-term-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/term/*.el
        - test/lisp/term/*.el
        - test/lisp/term/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-term"

test-lisp-textmodes-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/textmodes/*.el
        - test/lisp/textmodes/*.el
        - test/lisp/textmodes/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-textmodes"

test-lisp-url-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/url/*.el
        - test/lisp/url/*.el
        - test/lisp/url/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-url"

test-lisp-vc-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - lisp/vc/*.el
        - test/lisp/vc/*.el
        - test/lisp/vc/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-lisp-vc"

test-misc-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - admin/*.el
        - test/misc/*.el
        - test/misc/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-misc"

test-src-inotify:
  stage: normal
  extends: [.job-template, .test-template]
  needs:
    - job: build-image-inotify
      optional: true
  rules:
    - if: '$CI_PIPELINE_SOURCE == "schedule"'
      when: never
    - changes:
        - src/*.{h,c}
        - test/src/*.el
        - test/src/*resources/**
  variables:
    target: emacs-inotify
    make_params: "-k -C test check-src"

  parent reply	other threads:[~2022-04-15 13:02 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-23  1:22 28.0.50; buffer-naming collisions involving bouncers in ERC J.P.
2021-06-02 11:19 ` bug#48598: " J.P.
2021-06-09 14:36 ` Olivier Certner
2021-06-10 14:36   ` bug#48598: " J.P.
2021-06-19  3:04 ` J.P.
2021-06-25 13:18 ` J.P.
     [not found] ` <87r1gqaxqf.fsf@neverwas.me>
2021-06-28  7:58   ` Olivier Certner
2021-10-16 21:15   ` Daniel Fleischer
2021-10-16 23:21     ` J.P.
     [not found]     ` <87o87ofte1.fsf@neverwas.me>
2021-11-11  5:24       ` Lars Ingebrigtsen
     [not found]       ` <8735o39sdg.fsf@gnus.org>
2021-11-11 10:27         ` J.P.
     [not found]         ` <87pmr77zsa.fsf@neverwas.me>
2021-11-11 12:08           ` Lars Ingebrigtsen
     [not found]           ` <87a6ia7v47.fsf@gnus.org>
2021-11-11 15:13             ` J.P.
2021-09-04 16:46 ` bug#48598: Strange ERC/ZNC Bug/Problem acdw
2021-09-07 21:38 ` J.P.
2021-09-10 12:43 ` bug#48598: Duplicate messages from bouncers on 27 and earlier J.P.
2021-11-11 15:15 ` bug#48598: 28.0.50; buffer-naming collisions involving bouncers in ERC J.P.
2022-03-14 13:08 ` J.P.
2022-04-09 21:14 ` bug#48598: Questions regarding layout and composition of tests (bug#48598) J.P.
2022-04-09 21:22 ` bug#48598: Questions regarding auth-source integration (bug#48598) J.P.
     [not found] ` <87leweez89.fsf@neverwas.me>
2022-04-10 12:49   ` bug#48598: Questions regarding layout and composition of tests (bug#48598) Lars Ingebrigtsen
     [not found]   ` <87fsmlp0gy.fsf@gnus.org>
2022-04-11  7:59     ` bug#48598: 28.0.50; buffer-naming collisions involving bouncers in ERC Michael Albinus
     [not found]     ` <878rsc2gp5.fsf_-_@gmx.de>
2022-04-11 10:21       ` Lars Ingebrigtsen
     [not found]       ` <878rsbdipd.fsf@gnus.org>
2022-04-11 13:29         ` J.P.
2022-04-11 15:34           ` Lars Ingebrigtsen
2022-04-12  7:50           ` Michael Albinus
     [not found]           ` <87sfqi2119.fsf@gmx.de>
2022-04-15 13:02             ` J.P. [this message]
     [not found]             ` <87v8vah54l.fsf@neverwas.me>
2022-04-15 15:05               ` Michael Albinus
     [not found]               ` <87h76ucrq4.fsf@gmx.de>
2022-04-16  1:12                 ` J.P.
     [not found]                 ` <87h76tde5k.fsf@neverwas.me>
2022-04-17  8:25                   ` Michael Albinus
     [not found]                   ` <87czhgce1s.fsf@gmx.de>
2022-04-18 14:30                     ` J.P.
     [not found]                     ` <871qxucvls.fsf@neverwas.me>
2022-04-18 16:43                       ` Michael Albinus
     [not found]                       ` <87o80ybauv.fsf@gmx.de>
2022-04-21 13:28                         ` J.P.
     [not found]                         ` <87pmlao9ax.fsf@neverwas.me>
2022-04-22  8:54                           ` Michael Albinus
     [not found] ` <87bkxaeyuw.fsf@neverwas.me>
2022-04-18 13:26   ` bug#48598: Questions regarding auth-source integration (bug#48598) Damien Cassou
2022-04-18 14:24     ` J.P.
     [not found]     ` <87ee1ucvv3.fsf@neverwas.me>
2022-04-18 15:24       ` Damien Cassou
2022-04-18 16:52         ` Michael Albinus
     [not found]         ` <87k0bmbage.fsf@gmx.de>
2022-04-20 14:12           ` J.P.
     [not found]           ` <878rrz268v.fsf@neverwas.me>
2022-04-21  7:08             ` bug#48598: 28.0.50; buffer-naming collisions involving bouncers in ERC Michael Albinus
     [not found]             ` <87czha3oc5.fsf_-_@gmx.de>
2022-04-21 13:21               ` J.P.
     [not found]               ` <87v8v2o9l4.fsf@neverwas.me>
2022-04-22  9:29                 ` Michael Albinus
     [not found]                 ` <87k0bh31pt.fsf@gmx.de>
2022-04-22 14:24                   ` J.P.
     [not found]                   ` <8735i5nql8.fsf@neverwas.me>
2022-04-23  9:47                     ` Michael Albinus
     [not found]                     ` <87bkws2ksn.fsf@gmx.de>
2022-04-25 12:05                       ` J.P.
     [not found]                       ` <87czh5z7ui.fsf@neverwas.me>
2022-04-27 12:28                         ` Michael Albinus
     [not found]                         ` <874k2epv5n.fsf@gmx.de>
2022-04-28  8:08                           ` Michael Albinus
     [not found]                           ` <87levpmxz1.fsf@gmx.de>
2022-04-28  8:13                             ` Michael Albinus
2022-04-29 13:03                           ` J.P.
2022-05-25 19:29 ` J.P.
2022-05-26  5:17   ` J.P.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='87v8vah54l.fsf__12098.6669602402$1650027799$gmane$org@neverwas.me' \
    --to=jp@neverwas.me \
    --cc=48598@debbugs.gnu.org \
    --cc=emacs-erc@gnu.org \
    --cc=larsi@gnus.org \
    --cc=michael.albinus@gmx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).