public inbox for buildbot@sourceware.org
 help / color / mirror / Atom feed
From: Mark Wielaard <mark@klomp.org>
To: buildbot@sourceware.org
Cc: Nick Clifton <nickc@redhat.com>, Mark Wielaard <mark@klomp.org>
Subject: [PATCH] Add annobin builders
Date: Wed, 12 Apr 2023 18:21:22 +0200	[thread overview]
Message-ID: <20230412162122.761756-1-mark@klomp.org> (raw)

Add development requirements to fedora Containerfiles. Add annobin
gitpoller scheduler factory and fedora x86_64, arm64, ppc64le and
s390x builders.
---
 .../containers/Containerfile-fedora-latest    |  3 +-
 .../containers/Containerfile-fedora-rawhide   |  3 +-
 builder/master.cfg                            | 81 +++++++++++++++++++
 3 files changed, 85 insertions(+), 2 deletions(-)

diff --git a/builder/containers/Containerfile-fedora-latest b/builder/containers/Containerfile-fedora-latest
index df7b4ff..e4016af 100644
--- a/builder/containers/Containerfile-fedora-latest
+++ b/builder/containers/Containerfile-fedora-latest
@@ -11,7 +11,8 @@ RUN dnf upgrade -y && \
         findutils file tar curl libarchive-devel libcurl-devel \
         libmicrohttpd-devel sqlite-devel elfutils elfutils-devel ncurses-devel \
         jq json-c-devel socat \
-        texinfo \
+        texinfo elfutils-debuginfod elfutils-debuginfod-client-devel \
+        gcc-plugin-devel binutils-devel \
         xmlto xmlto-tex fop poppler-utils libxslt docbook-dtds docbook-style-xsl \
         libxml2-devel dos2unix dpkg koji python3-devel python3-koji python3-mock \
         python3-rpm python3-pyxdg mailcap openmpi-devel gdb help2man wget xxhash-devel \
diff --git a/builder/containers/Containerfile-fedora-rawhide b/builder/containers/Containerfile-fedora-rawhide
index 3dc6302..5e7719f 100644
--- a/builder/containers/Containerfile-fedora-rawhide
+++ b/builder/containers/Containerfile-fedora-rawhide
@@ -11,7 +11,8 @@ RUN dnf upgrade -y && \
         findutils file tar curl libarchive-devel libcurl-devel \
         libmicrohttpd-devel sqlite-devel elfutils elfutils-devel ncurses-devel \
         jq json-c-devel socat \
-        texinfo \
+        texinfo elfutils-debuginfod elfutils-debuginfod-client-devel \
+        gcc-plugin-devel binutils-devel \
         xmlto xmlto-tex fop poppler-utils libxslt docbook-dtds docbook-style-xsl \
         libxml2-devel dos2unix dpkg koji python3-devel python3-koji python3-mock \
         python3-rpm python3-pyxdg mailcap openmpi-devel gdb help2man wget xxhash-devel \
diff --git a/builder/master.cfg b/builder/master.cfg
index 04f025c..5f4eb0a 100644
--- a/builder/master.cfg
+++ b/builder/master.cfg
@@ -458,6 +458,14 @@ gnupoke_gitpoller = changes.GitPoller(repourl=gnupoke_repourl,
                                       project='gnupoke')
 c['change_source'].append(gnupoke_gitpoller)
 
+annobin_repourl='https://sourceware.org/git/annobin.git'
+annobin_gitpoller = changes.GitPoller(repourl=annobin_repourl,
+                                      branches=['master'],
+                                      pollInterval=3*60,
+                                      pollRandomDelayMax=2*60,
+                                      project='annobin')
+c['change_source'].append(annobin_gitpoller)
+
 
 
 ####### SCHEDULERS
@@ -974,6 +982,17 @@ gnupoke_scheduler = schedulers.SingleBranchScheduler(
                       "gnupoke-gentoo-sparc"])
 c['schedulers'].append(gnupoke_scheduler)
 
+annobin_scheduler = schedulers.SingleBranchScheduler(
+        name="annobin",
+        change_filter=util.ChangeFilter(project="annobin",
+                                        branch="master"),
+        builderNames=["annobin-fedora-x86_64",
+                      "annobin-rawhide-x86_64",
+                      "annobin-fedora-arm64",
+                      "annobin-fedora-ppc64le",
+                      "annobin-fedora-s390x"])
+c['schedulers'].append(annobin_scheduler)
+
 ####### BUILDERS
 
 # The 'builders' list defines the Builders, which tell Buildbot how to perform a build:
@@ -4295,6 +4314,68 @@ gnupoke_gentoo_space_builder = util.BuilderConfig(
         factory=gnupoke_factory)
 c['builders'].append(gnupoke_gentoo_space_builder)
 
+# annobin steps, builders and factories
+
+# annobin checkouts have generated config files included, but might
+# have odd time stamps causing them to be re-autoconfed, which need
+# very specific auto* versions. Touch the generated files to prevent
+# regeneration.
+annobin_touch_configs_step = steps.ShellCommand(
+        command="touch aclocal.m4 gcc-plugin/config.h.in configure */configure Makefile.in */Makefile.in",
+        name= "touch config files")
+
+annobin_factory = util.BuildFactory()
+annobin_factory.addStep(steps.Git(
+        repourl=annobin_repourl,
+        mode='full', method='fresh',
+        name="git checkout",
+        getDescription={'tags':True, 'always':True},
+        haltOnFailure=True))
+annobin_factory.addStep(annobin_touch_configs_step)
+annobin_factory.addStep(configure_step)
+annobin_factory.addStep(make_step)
+annobin_factory.addStep(make_check_step)
+annobin_factory.addSteps(bunsen_logfile_upload_cpio_steps(["*.log"]))
+
+annobin_fedora_x86_64_builder = util.BuilderConfig(
+        name="annobin-fedora-x86_64",
+        tags=["annobin", "fedora", "x86_64"],
+        properties={'container-file':
+                    readContainerFile('fedora-latest')},
+        workernames=vm_workers,
+        factory=annobin_factory)
+c['builders'].append(annobin_fedora_x86_64_builder)
+
+annobin_rawhide_x86_64_builder = util.BuilderConfig(
+        name="annobin-rawhide-x86_64",
+        tags=["annobin", "rawhide", "x86_64"],
+        properties={'container-file':
+                    readContainerFile('fedora-rawhide')},
+        workernames=vm_workers,
+        factory=annobin_factory)
+c['builders'].append(annobin_rawhide_x86_64_builder)
+
+annobin_fedora_arm64_builder = util.BuilderConfig(
+        name="annobin-fedora-arm64",
+        workernames=["fedora-arm64"],
+        tags=["annobin", "fedora", "arm64"],
+        factory=annobin_factory)
+c['builders'].append(annobin_fedora_arm64_builder)
+
+annobin_fedora_ppc64le_builder = util.BuilderConfig(
+        name="annobin-fedora-ppc64le",
+        workernames=["fedora-ppc64le"],
+        tags=["annobin", "fedora", "ppc64le"],
+        factory=annobin_factory)
+c['builders'].append(annobin_fedora_ppc64le_builder)
+
+annobin_fedora_s390x_builder = util.BuilderConfig(
+        name="annobin-fedora-s390x",
+        workernames=["fedora-s390x"],
+        tags=["annobin", "fedora", "s390x"],
+        factory=annobin_factory)
+c['builders'].append(annobin_fedora_s390x_builder)
+
 ####### BUILDBOT SERVICES
 
 # 'services' is a list of BuildbotService items like reporter targets. The
-- 
2.39.2


             reply	other threads:[~2023-04-12 16:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-12 16:21 Mark Wielaard [this message]
2023-04-13  9:00 ` Nick Clifton

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=20230412162122.761756-1-mark@klomp.org \
    --to=mark@klomp.org \
    --cc=buildbot@sourceware.org \
    --cc=nickc@redhat.com \
    /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).