public inbox for buildbot@sourceware.org
 help / color / mirror / Atom feed
From: Mark Wielaard <mark@klomp.org>
To: buildbot@sourceware.org
Cc: Mark Wielaard <mark@klomp.org>
Subject: [COMMITTED] Add users try- branch builders for gdb-binutils
Date: Mon, 20 Jun 2022 12:11:58 +0200	[thread overview]
Message-ID: <20220620101158.817041-1-mark@klomp.org> (raw)

Change the binutils_gdb_gitpoller to fetch both master a
users/<name>/try- branches. Allow rebuilding commits already seen on
other branches (for when a try- branch is merged into master).

Add binutils_try_scheduler and gdb_try_scheduler which only watch
users/<name>/try- branches. Add a treeStableTimer of 10 seconds.

Add binutils and gdb try builders with collapseRequests=True and -try
tag name.

Add binutils and gdb try MailNotifiers that sent emails for each -try
tagged build, but only to interested users (commit authors).
---
 builder/master.cfg | 188 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 187 insertions(+), 1 deletion(-)

diff --git a/builder/master.cfg b/builder/master.cfg
index dc5c583..8042b82 100644
--- a/builder/master.cfg
+++ b/builder/master.cfg
@@ -244,9 +244,18 @@ gccrust_gitpoller = changes.GitPoller(repourl=gccrust_repourl,
                                       project='gccrust')
 c['change_source'].append(gccrust_gitpoller)
 
+def master_and_users_try_branches(ref):
+  if ref == "refs/heads/master":
+    return True
+  match = re.match ("refs/heads/users/[a-zA-Z0-9]+/try-", ref)
+  if match:
+    return True
+  return False
+
 binutils_gdb_repourl='https://sourceware.org/git/binutils-gdb.git'
 binutils_gdb_gitpoller = changes.GitPoller(repourl=binutils_gdb_repourl,
-                                           branches=['master'],
+                                           branches=master_and_users_try_branches,
+                                           buildPushesWithNoCommits=True,
                                            pollInterval=317,
                                            project='binutils-gdb')
 c['change_source'].append(binutils_gdb_gitpoller)
@@ -458,6 +467,23 @@ binutils_scheduler = schedulers.SingleBranchScheduler(
                       "binutils-opensuseleap-x86_64"])
 c['schedulers'].append(binutils_scheduler)
 
+binutils_try_scheduler = schedulers.AnyBranchScheduler(
+        name="binutils-try",
+        change_filter=util.ChangeFilter(project="binutils-gdb",
+                                        branch_re=re.compile("users/[a-zA-Z0-9]+/try-")),
+        treeStableTimer=10,
+        fileIsImportant=binutilsImportant,
+        onlyImportant=True,
+        reason="binutils-gdb project users try branch binutils files update",
+        builderNames=["binutils-try-debian-amd64",
+                      "binutils-try-fedora-x86_64",
+                      "binutils-try-fedora-s390x",
+                      "binutils-try-debian-i386",
+                      "binutils-try-fedora-ppc64le",
+                      "binutils-try-opensusetw-x86_64",
+                      "binutils-try-opensuseleap-x86_64"])
+c['schedulers'].append(binutils_try_scheduler)
+
 # Only trigger scheduler for changes to gdb (or deps)
 gdb_files = ["bfd/",
              "config/",
@@ -504,6 +530,23 @@ gdb_scheduler = schedulers.SingleBranchScheduler(
                       "gdb-opensuseleap-x86_64"])
 c['schedulers'].append(gdb_scheduler)
 
+gdb_try_scheduler = schedulers.AnyBranchScheduler(
+        name="gdb-try",
+        change_filter=util.ChangeFilter(project="binutils-gdb",
+                                        branch_re=re.compile("users/[a-zA-Z0-9]+/try-")),
+        treeStableTimer=10,
+        fileIsImportant=gdbImportant,
+        onlyImportant=True,
+        reason="binutils-gdb project users try branch gdb files update",
+        builderNames=["gdb-try-centos-x86_64",
+                      "gdb-try-fedora-x86_64",
+                      "gdb-try-debian-i386",
+                      "gdb-try-fedora-s390x",
+                      "gdb-try-fedora-ppc64le",
+                      "gdb-try-opensusetw-x86_64",
+                      "gdb-try-opensuseleap-x86_64"])
+c['schedulers'].append(gdb_try_scheduler)
+
 # A scheduler for everything binutils-gdb & gcc without filters
 binutils_gdb_scheduler = schedulers.SingleBranchScheduler(
         name="binutils-gdb",
@@ -1419,6 +1462,16 @@ binutils_debian_amd64_builder = util.BuilderConfig(
         factory=binutils_factory_target_all)
 c['builders'].append(binutils_debian_amd64_builder)
 
+binutils_try_debian_amd64_builder = util.BuilderConfig(
+	name="binutils-try-debian-amd64",
+        collapseRequests=True,
+        properties={'container-file':
+		    readContainerFile('debian-stable')},
+	workernames=vm_workers,
+        tags=["binutils-try", "debian", "x86_64"],
+        factory=binutils_factory_target_all)
+c['builders'].append(binutils_try_debian_amd64_builder)
+
 binutils_fedora_x86_64_builder = util.BuilderConfig(
 	name="binutils-fedora-x86_64",
 	properties={'container-file':
@@ -1428,6 +1481,16 @@ binutils_fedora_x86_64_builder = util.BuilderConfig(
         factory=binutils_factory_target_all)
 c['builders'].append(binutils_fedora_x86_64_builder)
 
+binutils_try_fedora_x86_64_builder = util.BuilderConfig(
+	name="binutils-try-fedora-x86_64",
+        collapseRequests=True,
+	properties={'container-file':
+		    readContainerFile('fedora-latest')},
+	workernames=vm_workers,
+        tags=["binutils-try", "fedora", "x86_64"],
+        factory=binutils_factory_target_all)
+c['builders'].append(binutils_try_fedora_x86_64_builder)
+
 binutils_fedora_s390x_builder = util.BuilderConfig(
 	name="binutils-fedora-s390x",
         workernames=["fedora-s390x"],
@@ -1435,6 +1498,13 @@ binutils_fedora_s390x_builder = util.BuilderConfig(
         factory=binutils_factory)
 c['builders'].append(binutils_fedora_s390x_builder)
 
+binutils_try_fedora_s390x_builder = util.BuilderConfig(
+	name="binutils-try-fedora-s390x",
+        workernames=["fedora-s390x"],
+        tags=["binutils-try", "fedora", "s390x"],
+        factory=binutils_factory)
+c['builders'].append(binutils_try_fedora_s390x_builder)
+
 binutils_debian_ppc64_builder = util.BuilderConfig(
 	name="binutils-debian-ppc64",
         workernames=["debian-ppc64"],
@@ -1463,6 +1533,14 @@ binutils_debian_i386_builder = util.BuilderConfig(
         factory=binutils_factory)
 c['builders'].append(binutils_debian_i386_builder)
 
+binutils_try_debian_i386_builder = util.BuilderConfig(
+	name="binutils-try-debian-i386",
+        collapseRequests=True,
+        workernames=debian_i386_workers,
+        tags=["binutils-try", "debian", "i386"],
+        factory=binutils_factory)
+c['builders'].append(binutils_try_debian_i386_builder)
+
 binutils_fedora_ppc64le_builder = util.BuilderConfig(
 	name="binutils-fedora-ppc64le",
         workernames=["fedora-ppc64le"],
@@ -1470,6 +1548,14 @@ binutils_fedora_ppc64le_builder = util.BuilderConfig(
         factory=binutils_factory)
 c['builders'].append(binutils_fedora_ppc64le_builder)
 
+binutils_try_fedora_ppc64le_builder = util.BuilderConfig(
+	name="binutils-try-fedora-ppc64le",
+        collapseRequests=True,
+        workernames=["fedora-ppc64le"],
+        tags=["binutils-try", "fedora", "ppc64le"],
+        factory=binutils_factory)
+c['builders'].append(binutils_try_fedora_ppc64le_builder)
+
 binutils_opensusetw_x86_64_builder = util.BuilderConfig(
 	name="binutils-opensusetw-x86_64",
 	properties={'container-file':
@@ -1479,6 +1565,16 @@ binutils_opensusetw_x86_64_builder = util.BuilderConfig(
         factory=binutils_factory_target_all)
 c['builders'].append(binutils_opensusetw_x86_64_builder)
 
+binutils_try_opensusetw_x86_64_builder = util.BuilderConfig(
+	name="binutils-try-opensusetw-x86_64",
+        collapseRequests=True,
+	properties={'container-file':
+		    readContainerFile('opensuse-tumbleweed')},
+        workernames=vm_workers,
+        tags=["binutils-try", "opensusetw", "x86_64"],
+        factory=binutils_factory_target_all)
+c['builders'].append(binutils_try_opensusetw_x86_64_builder)
+
 binutils_opensuseleap_x86_64_builder = util.BuilderConfig(
 	name="binutils-opensuseleap-x86_64",
 	properties={'container-file':
@@ -1488,6 +1584,16 @@ binutils_opensuseleap_x86_64_builder = util.BuilderConfig(
         factory=binutils_factory_target_all)
 c['builders'].append(binutils_opensuseleap_x86_64_builder)
 
+binutils_try_opensuseleap_x86_64_builder = util.BuilderConfig(
+	name="binutils-try-opensuseleap-x86_64",
+        collapseRequests=True,
+	properties={'container-file':
+		    readContainerFile('opensuse-leap')},
+        workernames=vm_workers,
+        tags=["binutils-try", "opensuseleap", "x86_64"],
+        factory=binutils_factory_target_all)
+c['builders'].append(binutils_try_opensuseleap_x86_64_builder)
+
 # gdb build steps, factory and builders
 
 gdb_git_step = steps.Git(
@@ -1607,6 +1713,14 @@ gdb_centos_x86_64_builder = util.BuilderConfig(
         factory=gdb_factory)
 c['builders'].append(gdb_centos_x86_64_builder)
 
+gdb_try_centos_x86_64_builder = util.BuilderConfig(
+	name="gdb-try-centos-x86_64",
+        collapseRequests=True,
+        workernames=["centos-x86_64"],
+        tags=["gdb-try", "centos", "x86_64"],
+        factory=gdb_factory)
+c['builders'].append(gdb_try_centos_x86_64_builder)
+
 gdb_fedora_x86_64_builder = util.BuilderConfig(
 	name="gdb-fedora-x86_64",
 	properties={'container-file':
@@ -1616,6 +1730,16 @@ gdb_fedora_x86_64_builder = util.BuilderConfig(
         factory=gdb_factory)
 c['builders'].append(gdb_fedora_x86_64_builder)
 
+gdb_try_fedora_x86_64_builder = util.BuilderConfig(
+	name="gdb-try-fedora-x86_64",
+        collapseRequests=True,
+	properties={'container-file':
+		    readContainerFile('fedora-latest')},
+	workernames=vm_workers,
+        tags=["gdb-try", "fedora", "x86_64"],
+        factory=gdb_factory)
+c['builders'].append(gdb_try_fedora_x86_64_builder)
+
 gdb_debian_armhf_builder = util.BuilderConfig(
 	name="gdb-debian-armhf",
         workernames=["debian-armhf"],
@@ -1637,6 +1761,14 @@ gdb_debian_i386_builder = util.BuilderConfig(
         factory=gdb_factory)
 c['builders'].append(gdb_debian_i386_builder)
 
+gdb_try_debian_i386_builder = util.BuilderConfig(
+	name="gdb-try-debian-i386",
+        collapseRequests=True,
+        workernames=debian_i386_workers,
+        tags=["gdb-try", "debian", "i386"],
+        factory=gdb_factory)
+c['builders'].append(gdb_try_debian_i386_builder)
+
 gdb_fedora_s390x_builder = util.BuilderConfig(
 	name="gdb-fedora-s390x",
         workernames=["fedora-s390x"],
@@ -1644,6 +1776,14 @@ gdb_fedora_s390x_builder = util.BuilderConfig(
         factory=gdb_factory)
 c['builders'].append(gdb_fedora_s390x_builder)
 
+gdb_try_fedora_s390x_builder = util.BuilderConfig(
+	name="gdb-try-fedora-s390x",
+        collapseRequests=True,
+        workernames=["fedora-s390x"],
+        tags=["gdb-try", "fedora", "s390x"],
+        factory=gdb_factory)
+c['builders'].append(gdb_try_fedora_s390x_builder)
+
 gdb_debian_ppc64_builder = util.BuilderConfig(
 	name="gdb-debian-ppc64",
         workernames=["debian-ppc64"],
@@ -1658,6 +1798,14 @@ gdb_fedora_ppc64le_builder = util.BuilderConfig(
         factory=gdb_factory)
 c['builders'].append(gdb_fedora_ppc64le_builder)
 
+gdb_try_fedora_ppc64le_builder = util.BuilderConfig(
+	name="gdb-try-fedora-ppc64le",
+        collapseRequests=True,
+        workernames=["fedora-ppc64le"],
+        tags=["gdb-try", "fedora", "ppc64le"],
+        factory=gdb_factory)
+c['builders'].append(gdb_try_fedora_ppc64le_builder)
+
 gdb_opensusetw_x86_64_builder = util.BuilderConfig(
 	name="gdb-opensusetw-x86_64",
 	properties={'container-file':
@@ -1667,6 +1815,16 @@ gdb_opensusetw_x86_64_builder = util.BuilderConfig(
         factory=gdb_factory)
 c['builders'].append(gdb_opensusetw_x86_64_builder)
 
+gdb_try_opensusetw_x86_64_builder = util.BuilderConfig(
+	name="gdb-try-opensusetw-x86_64",
+        collapseRequests=True,
+	properties={'container-file':
+		    readContainerFile('opensuse-tumbleweed')},
+        workernames=vm_workers,
+        tags=["gdb-try", "opensusetw", "x86_64"],
+        factory=gdb_factory)
+c['builders'].append(gdb_try_opensusetw_x86_64_builder)
+
 gdb_opensuseleap_x86_64_builder = util.BuilderConfig(
 	name="gdb-opensuseleap-x86_64",
 	properties={'container-file':
@@ -1676,6 +1834,16 @@ gdb_opensuseleap_x86_64_builder = util.BuilderConfig(
         factory=gdb_factory)
 c['builders'].append(gdb_opensuseleap_x86_64_builder)
 
+gdb_try_opensuseleap_x86_64_builder = util.BuilderConfig(
+	name="gdb-try-opensuseleap-x86_64",
+        collapseRequests=True,
+	properties={'container-file':
+		    readContainerFile('opensuse-leap')},
+        workernames=vm_workers,
+        tags=["gdb-try", "opensuseleap", "x86_64"],
+        factory=gdb_factory)
+c['builders'].append(gdb_try_opensuseleap_x86_64_builder)
+
 # binutils-gdb build steps, factory and builders
 # just a native build
 
@@ -2196,6 +2364,15 @@ mn_binutils_change = reporters.MailNotifier(
         generators=[generator_binutils_change])
 c['services'].append(mn_binutils_change)
 
+# Just sent a report to the interested try user (author).
+generator_binutils_try = reporters.BuildStatusGenerator(
+        tags=["binutils-try"])
+mn_binutils_try = reporters.MailNotifier(
+        fromaddr="builder@sourceware.org",
+        sendToInterestedUsers=True,
+        generators=[generator_binutils_try])
+c['services'].append(mn_binutils_try)
+
 # Problem report for the whole gdb tagged builder set
 generator_gdb = reporters.BuildSetStatusGenerator(
         mode=('problem',), tags=['gdb'])
@@ -2215,6 +2392,15 @@ mn_gdb_change = reporters.MailNotifier(
         generators=[generator_gdb_change])
 c['services'].append(mn_gdb_change)
 
+# Just sent a report to the interested try user (author).
+generator_gdb_try = reporters.BuildStatusGenerator(
+        tags=["gdb-try"])
+mn_gdb_try = reporters.MailNotifier(
+        fromaddr="builder@sourceware.org",
+        sendToInterestedUsers=True,
+        generators=[generator_gdb_try])
+c['services'].append(mn_gdb_try)
+
 # Problem report for the whole libabigail tagged builder set
 generator_libabigail = reporters.BuildSetStatusGenerator(
         mode=('problem',), tags=['libabigail'])
-- 
2.30.2


                 reply	other threads:[~2022-06-20 10:12 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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

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

  git send-email \
    --in-reply-to=20220620101158.817041-1-mark@klomp.org \
    --to=mark@klomp.org \
    --cc=buildbot@sourceware.org \
    /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.
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).