public inbox for buildbot@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] Add full glibc fedora-x86_64 builder and some build-only builders
@ 2022-06-24 11:18 Mark Wielaard
  0 siblings, 0 replies; only message in thread
From: Mark Wielaard @ 2022-06-24 11:18 UTC (permalink / raw)
  To: buildbot; +Cc: Mark Wielaard

Adds a treeStableTime of 10 minutes for full glibc scheduler which
will also trigger the new glibc-fedora-x86_64 container builder.

Add a new glibc-build only scheduler which will trigger new quick
build only builders glibc-debian-i386, glibc-fedora-s390x,
glibc-debian-ppc64, glibc-fedora-ppc64le, glibc-opensusetw-x86_64 and
glibc-opensuseleap-x86_64.

Factor out glibc steps and create a new glibc_build_factory that only
does a glibc build, not a full check.
---
 builder/master.cfg | 127 +++++++++++++++++++++++++++++++++++++--------
 1 file changed, 106 insertions(+), 21 deletions(-)

diff --git a/builder/master.cfg b/builder/master.cfg
index a70a93b..ef15b03 100644
--- a/builder/master.cfg
+++ b/builder/master.cfg
@@ -578,15 +578,25 @@ glibc_scheduler = schedulers.SingleBranchScheduler(
         name="glibc",
         change_filter=util.ChangeFilter(project="glibc",
                                         branch="master"),
+        treeStableTimer=10*60,
         reason="glibc project master branch update",
-        builderNames=["glibc-fedrawhide-x86_64"])
+        builderNames=["glibc-fedrawhide-x86_64",
+                      "glibc-fedora-x86_64"])
 c['schedulers'].append(glibc_scheduler)
 
-
-
-
-
-
+# Quick build only scheduler
+glibc_build_scheduler = schedulers.SingleBranchScheduler(
+        name="glibc-build",
+        change_filter=util.ChangeFilter(project="glibc",
+                                        branch="master"),
+        reason="glibc project master branch update",
+        builderNames=["glibc-debian-i386",
+                      "glibc-fedora-s390x",
+                      "glibc-debian-ppc64",
+                      "glibc-fedora-ppc64le",
+                      "glibc-opensusetw-x86_64",
+                      "glibc-opensuseleap-x86_64"])
+c['schedulers'].append(glibc_build_scheduler)
 
 
 ####### BUILDERS
@@ -2016,41 +2026,60 @@ c['builders'].append(gcc_fedrawhide_x86_64_builder)
 
 # glibc build steps, factory, builders
 
-glibc_factory = util.BuildFactory()
-glibc_factory.addStep(steps.Git(
+glibc_git_step = steps.Git(
         workdir='glibc',
         repourl=glibc_repourl,
         mode='full', method='fresh',
         retryFetch=True,
         name="git checkout",
-        haltOnFailure=True))
-glibc_factory.addStep(steps.ShellCommand(
+        haltOnFailure=True)
+
+glibc_rm_step = steps.ShellCommand(
         command=["rm", "-rf",
                  util.Interpolate ("%(prop:builddir)s/glibc-build")],
         name="rm -rf glibc-build",
-        haltOnFailure=True))
-glibc_factory.addStep(steps.Configure(
+        haltOnFailure=True)
+
+glibc_configure_step = steps.Configure(
         workdir='glibc-build',
         command=['../glibc/configure', '--prefix=/usr'],
         name='configure',
-        haltOnFailure=True))
-glibc_factory.addStep(steps.Compile(
+        haltOnFailure=True)
+
+glibc_make_step = steps.Compile(
         workdir='glibc-build',
         command=['make',
-                 util.Interpolate('-j%(prop:ncpus)s'),
-                 '-k', 'all'], # for better logs, keep going
+                 util.Interpolate('-j%(prop:ncpus)s')],
         name='make',
-        haltOnFailure=False, flunkOnFailure=True))  # build failure = bad
-glibc_factory.addStep(steps.Test(
+        haltOnFailure=False, flunkOnFailure=True)
+
+glibc_check_step = steps.Test(
         workdir='glibc-build',
         command=['make',
                  util.Interpolate('-j%(prop:ncpus)s'),
                  'check'],
         name='make check',
-        haltOnFailure=False, flunkOnFailure=False))  # test failure = ok
-glibc_factory.addSteps(bunsen_logfile_upload_cpio_steps(
+        haltOnFailure=False, flunkOnFailure=True)
+
+glibc_bunsen_steps = bunsen_logfile_upload_cpio_steps(
         ["config.log", "*.out", "*.test-result", "*.sum"],
-        workdir='../glibc-build'))
+        workdir='../glibc-build')
+
+glibc_factory = util.BuildFactory()
+glibc_factory.addStep(glibc_git_step)
+glibc_factory.addStep(glibc_rm_step)
+glibc_factory.addStep(glibc_configure_step)
+glibc_factory.addStep(glibc_make_step)
+glibc_factory.addStep(glibc_check_step)
+glibc_factory.addSteps(glibc_bunsen_steps)
+
+# A full check is too heavy-weight for some builders
+# Just do a build, no checks
+glibc_build_factory = util.BuildFactory()
+glibc_build_factory.addStep(glibc_git_step)
+glibc_build_factory.addStep(glibc_rm_step)
+glibc_build_factory.addStep(glibc_configure_step)
+glibc_build_factory.addStep(glibc_make_step)
 
 glibc_fedrawhide_x86_64_builder = util.BuilderConfig(
         name="glibc-fedrawhide-x86_64",
@@ -2060,6 +2089,62 @@ glibc_fedrawhide_x86_64_builder = util.BuilderConfig(
         factory=glibc_factory)
 c['builders'].append(glibc_fedrawhide_x86_64_builder)
 
+glibc_fedora_x86_64_builder = util.BuilderConfig(
+        name="glibc-fedora-x86_64",
+        collapseRequests=True,
+        properties={'container-file':
+                    readContainerFile('fedora-latest')},
+        workernames=vm_workers,
+        tags=["glibc", "fedora", "x86_64"],
+        factory=glibc_factory)
+c['builders'].append(glibc_fedora_x86_64_builder)
+
+glibc_debian_i386_builder = util.BuilderConfig(
+        name="glibc-debian-i386",
+        workernames=["debian-i386"],
+        tags=["glibc", "debian", "i386"],
+        factory=glibc_build_factory)
+c['builders'].append(glibc_debian_i386_builder)
+
+glibc_fedora_s390x_builder = util.BuilderConfig(
+        name="glibc-fedora-s390x",
+        workernames=["fedora-s390x"],
+        tags=["glibc", "fedora", "s390x"],
+        factory=glibc_build_factory)
+c['builders'].append(glibc_fedora_s390x_builder)
+
+glibc_debian_ppc64_builder = util.BuilderConfig(
+        name="glibc-debian-ppc64",
+        workernames=["debian-ppc64"],
+        tags=["glibc", "debian", "ppc64"],
+        factory=glibc_build_factory)
+c['builders'].append(glibc_debian_ppc64_builder)
+
+glibc_fedora_ppc64le_builder = util.BuilderConfig(
+        name="glibc-fedora-ppc64le",
+        workernames=["fedora-ppc64le"],
+        tags=["glibc", "fedora", "ppc64le"],
+        factory=glibc_build_factory)
+c['builders'].append(glibc_fedora_ppc64le_builder)
+
+glibc_opensusetw_x86_64_builder = util.BuilderConfig(
+        name="glibc-opensusetw-x86_64",
+        properties={'container-file':
+                    readContainerFile('opensuse-tumbleweed')},
+        workernames=vm_workers,
+        tags=["glibc", "opensusetw", "x86_64"],
+        factory=glibc_factory)
+c['builders'].append(glibc_opensusetw_x86_64_builder)
+
+glibc_opensuseleap_x86_64_builder = util.BuilderConfig(
+        name="glibc-opensuseleap-x86_64",
+        properties={'container-file':
+                    readContainerFile('opensuse-leap')},
+        workernames=vm_workers,
+        tags=["glibc", "opensuseleap", "x86_64"],
+        factory=glibc_factory)
+c['builders'].append(glibc_opensuseleap_x86_64_builder)
+
 
 # libabigail build steps, factory and builders
 
-- 
2.30.2


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-06-24 11:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-24 11:18 [PATCH] Add full glibc fedora-x86_64 builder and some build-only builders Mark Wielaard

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