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: [PATCH 1/2] Add gnupoke snapshot scheduler, factory and builder
Date: Wed, 19 Apr 2023 01:49:26 +0200	[thread overview]
Message-ID: <20230418234927.448194-1-mark@klomp.org> (raw)

Add texlive requirements to fedora-latest
---
 .../containers/Containerfile-fedora-latest    |  5 ++
 builder/master.cfg                            | 65 ++++++++++++++++++-
 2 files changed, 68 insertions(+), 2 deletions(-)

diff --git a/builder/containers/Containerfile-fedora-latest b/builder/containers/Containerfile-fedora-latest
index 4fa217b..b87b111 100644
--- a/builder/containers/Containerfile-fedora-latest
+++ b/builder/containers/Containerfile-fedora-latest
@@ -18,6 +18,11 @@ RUN dnf upgrade -y && \
         libxml2-devel dos2unix dpkg koji python3-devel python3-koji python3-mock \
         python3-rpm python3-pyxdg mailcap openmpi-devel gdb help2man wget xxhash-devel \
 	black \
+	texlive texlive-latex texlive-mdwtools texlive-ellipsis texlive-lineno \
+        texlive-changebar texlive-palatino texlive-hyperref texlive-xcolor \
+        texlive-changepage texlive-needspace texlive-geometry texlive-lineno \
+        texlive-epstopdf texlive-amsmath texlive-float texlive-url \
+        texlive-listings texlive-makeindex texlive-dvips ghostscript \
         buildbot-worker && \
    dnf clean all
 
diff --git a/builder/master.cfg b/builder/master.cfg
index b50b506..59869ea 100644
--- a/builder/master.cfg
+++ b/builder/master.cfg
@@ -479,6 +479,14 @@ annobin_gitpoller = changes.GitPoller(repourl=annobin_repourl,
                                       project='annobin')
 c['change_source'].append(annobin_gitpoller)
 
+dwarfspec_repourl='https://git.dwarfstd.org/dwarf-spec/'
+dwarfspec_gitpoller = changes.GitPoller(repourl=dwarfspec_repourl,
+                                      branches=['master'],
+                                      pollInterval=3*60,
+                                      pollRandomDelayMax=2*60,
+                                      project='dwarfspec')
+c['change_source'].append(dwarfspec_gitpoller)
+
 
 
 ####### SCHEDULERS
@@ -1017,6 +1025,17 @@ annobin_scheduler = schedulers.SingleBranchScheduler(
                       "annobin-fedora-s390x"])
 c['schedulers'].append(annobin_scheduler)
 
+dwarfspec_snapshot_scheduler = schedulers.Periodic(
+        name="dwarfspec-snapshots",
+        change_filter=util.ChangeFilter(project="dwarfspec",
+                                        branch="master"),
+        branch="master",
+        periodicBuildTimer=15*60, # 15 minutes in seconds
+        onlyIfChanged=True,
+        reason="dwarfspec periodic project master branch snapshot",
+        builderNames=["dwarfspec-snapshots-trunk"])
+c['schedulers'].append(dwarfspec_snapshot_scheduler)
+
 ####### BUILDERS
 
 # The 'builders' list defines the Builders, which tell Buildbot how to perform a build:
@@ -4453,6 +4472,41 @@ annobin_fedora_s390x_builder = util.BuilderConfig(
         factory=annobin_factory)
 c['builders'].append(annobin_fedora_s390x_builder)
 
+dwarfspec_git_step = steps.Git(
+        repourl=dwarfspec_repourl,
+        mode='full', method='fresh',
+        name="git checkout",
+        getDescription={'tags':True, 'always':True},
+        haltOnFailure=True)
+
+dwarfspec_make_step = steps.Compile(
+        command=['make', '-C', 'latexdoc'],
+        name='make latexdoc',
+        haltOnFailure=True)
+
+dwarfspec_create_output_step = steps.ShellCommand(
+        name="create output",
+        command="mkdir /home/builder/shared/output && mv dwarf6.pdf home/builder/shared/output/dwarf6-$(date -u +%Y%m%d-%H%M).pdf")
+dwarfspec_create_publish_file_step = steps.ShellCommand(
+        name="create publish file",
+        command="echo dwarfstd/dwarf-spec > /home/builder/shared/publish")
+dwarfspec_snapshots_trunk_factory = util.BuildFactory()
+dwarfspec_snapshots_trunk_factory.addStep(dwarfspec_git_step)
+dwarfspec_snapshots_trunk_factory.addStep(dwarfspec_make_step)
+dwarfspec_snapshots_trunk_factory.addStep(wait_snapshots_output_ready_step)
+dwarfspec_snapshots_trunk_factory.addStep(dwarfspec_create_output_step)
+dwarfspec_snapshots_trunk_factory.addStep(dwarfspec_create_publish_file_step)
+
+dwarfspec_snapshots_trunk_builder = util.BuilderConfig(
+        name="dwarfspec-snapshots-trunk",
+        collapseRequests=True,
+        properties={'container-file':
+                    readContainerFile('fedora-latest')},
+        workernames="snapshots",
+        tags=["dwarfspec-snapshots", "trunk"],
+        factory=dwarfspec_snapshots_trunk_factory)
+c['builders'].append(dwarfspec_snapshots_trunk_builder)
+
 ####### BUILDBOT SERVICES
 
 # 'services' is a list of BuildbotService items like reporter targets. The
@@ -4847,8 +4901,15 @@ wildebeestRevLink = util.RevlinkMatch(
 savannahRevLink = util.RevlinkMatch(
         repo_urls=[r'https://git.savannah.gnu.org/git/(.*).git'],
         revlink=r'https://git.savannah.gnu.org/cgit/\1.git/commit/?id=%s')
-
-reflinks = [sourcewareRevLink, gccRevLink, wildebeestRevLink, savannahRevLink]
+dwarfstdRevLink = util.RevlinkMatch(
+        repo_urls=[r'https://git.dwarfstd.org/(.*)'],
+        revlink=r'https://git.dwarfstd.org/\1/commit/?id=%s')
+
+reflinks = [sourcewareRevLink,
+            gccRevLink,
+            wildebeestRevLink,
+            savannahRevLink,
+            dwarfstdRevLink]
 
 def revlinkmultiplexer(rev,repo):
   for revlink in reflinks:
-- 
2.31.1


             reply	other threads:[~2023-04-18 23:49 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-18 23:49 Mark Wielaard [this message]
2023-04-18 23:49 ` [PATCH 2/2] dwarfspec_create_output_step: Correct dwarf6.pdf location Mark Wielaard
2023-04-18 23:53 ` [PATCH 1/2] Add gnupoke snapshot scheduler, factory and builder Mark Wielaard

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