public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Mark Wielaard <mark@klomp.org>
To: Luis Machado <luis.machado@arm.com>
Cc: "Frank Ch. Eigler" <fche@elastic.org>,
	Overseers mailing list <overseers@sourceware.org>,
	binutils@sourceware.org,
	"gdb@sourceware.org" <gdb@sourceware.org>
Subject: Re: Adding binutils to the GNU Toolchain buildbot on sourceware
Date: Wed, 27 Apr 2022 00:34:11 +0200	[thread overview]
Message-ID: <YmhzY4c3pOPLRgSw@wildebeest.org> (raw)
In-Reply-To: <524b04b7-a78c-7aae-4605-b40f61e6830c@arm.com>

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

Hi Luis,

On Tue, Apr 26, 2022 at 08:01:33AM +0100, Luis Machado wrote:
> > If so lets just pick one or more of the workers which seem like stable
> > distros/arches that should always build gdb:
> > https://builder.sourceware.org/buildbot/#/workers
> > (don't pick sourceware, which is special, debian-arm64, debian-armhf,
> > debian-i386 or fedora-ppc64 which are too slow)
> > 
> > Provide a file list (directories) of files in the binutils-gdb.git
> > repo that should trigger a build.
> > 
> > A configure and make line that does a quick build for just
> > gdb/gdbserver which should always build.
> 
> I think the following will do:
> 
> ./configure --enable-targets=all; make all-gdb all-gdbserver
> 
> or
> 
> ./configure --enable-targets=all --disable-sim; make all-gdb all-gdbserver
> 
> gdbserver, unlike gdb, will only build natively, hence why it would benefit
> from being built everywhere.

I added a gdb-centos-x86_64 builder. That is a fairly old distro (it
is centos7) but the worker isn't used for that many other builds and
it can do a quick compile in under 5 minutes. Once it works out I'll
add some other distro/arches.

Please review the gdb important files list. I might have missed some
directoy.

Thanks,

Mark

[-- Attachment #2: 0001-Add-gdb-centos-x86_64-builder.patch --]
[-- Type: text/x-diff, Size: 4476 bytes --]

From fa23744e04367b2d6f2081fd90bc58ad6d7ff6a6 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Wed, 27 Apr 2022 00:29:38 +0200
Subject: [PATCH] Add gdb-centos-x86_64 builder

---
 builder/master.cfg | 68 ++++++++++++++++++++++++++++++++++++++++++++++
 htdocs/index.html  |  5 ++++
 2 files changed, 73 insertions(+)

diff --git a/builder/master.cfg b/builder/master.cfg
index 45066b8..340904f 100644
--- a/builder/master.cfg
+++ b/builder/master.cfg
@@ -377,7 +377,30 @@ binutils_scheduler = schedulers.SingleBranchScheduler(
         builderNames=["binutils-debian-amd64", "binutils-fedrawhide-x86_64"])
 c['schedulers'].append(binutils_scheduler)
 
+# Only trigger scheduler for changes to gdb (or deps)
+gdb_files = ["bfd/",
+             "gdb/", "gdbserver/", "gdbsupport/",
+             "gnulib/", "sim/",
+             "include/", "libiberty/", "opcodes/",
+             "configure", "Makefile.in"]
+
+def gdbImportant(change):
+  for file in change.files:
+    for pattern in gdb_files:
+      match = re.match(pattern, file)
+      if match:
+        return True
+  return False
+
+gdb_scheduler = schedulers.SingleBranchScheduler(
+        name="gdb",
+        change_filter=util.ChangeFilter(project="binutils-gdb",
+                                        branch="master"),
+        fileIsImportant=gdbImportant,
+        builderNames=["gdb-centos-x86_64"])
+c['schedulers'].append(gdb_scheduler)
 
+# A scheduler for everything binutils-gdb without filters
 binutils_gdb_scheduler = schedulers.SingleBranchScheduler(
         name="binutils-gdb",
         change_filter=util.ChangeFilter(project="binutils-gdb",
@@ -1130,6 +1153,41 @@ binutils_fedrawhide_x86_64_builder = util.BuilderConfig(
         factory=binutils_factory)
 c['builders'].append(binutils_fedrawhide_x86_64_builder)
 
+# gdb build steps, factory and builders
+
+gdb_factory = util.BuildFactory()
+gdb_factory.addStep(steps.Git(
+        workdir='binutils-gdb',
+        repourl=binutils_gdb_repourl,
+        mode='full', method='fresh',
+        name="git checkout",
+        haltOnFailure=True))
+gdb_factory.addStep(steps.ShellCommand(
+        command=["rm", "-rf",
+                 util.Interpolate ("%(prop:builddir)s/gdb-build")],
+        name="rm -rf gdb-build",
+        haltOnFailure=True))
+gdb_factory.addStep(steps.Configure(
+        workdir='gdb-build',
+        command=['../binutils-gdb/configure',
+                 '--enable-target=all'],
+        name='configure',
+        haltOnFailure=True))
+gdb_factory.addStep(steps.Compile(
+        workdir='gdb-build',
+        command=['make',
+                 util.Interpolate('-j%(prop:ncpus)s'),
+                 'all-gdb', 'all-gdbserver'],
+        name='make',
+        haltOnFailure=True))
+
+gdb_centos_x86_64_builder = util.BuilderConfig(
+	name="gdb-centos-x86_64",
+        workernames=["centos-x86_64"],
+        tags=["gdb", "centos", "x86_64"],
+        factory=gdb_factory)
+c['builders'].append(gdb_centos_x86_64_builder)
+
 
 # binutils-gdb build steps, factory and builders
 # just a native build
@@ -1468,6 +1526,16 @@ mn_binutils = reporters.MailNotifier(
         generators=[generator_binutils])
 c['services'].append(mn_binutils)
 
+# Report for the whole gdb tagged builder set
+generator_gdb = reporters.BuildSetStatusGenerator(
+        mode=('change',), tags=['gdb'])
+mn_gdb = reporters.MailNotifier(
+        fromaddr="builder@sourceware.org",
+        sendToInterestedUsers=True,
+        extraRecipients=['gdb-testers@sourceware.org'],
+        generators=[generator_gdb])
+c['services'].append(mn_gdb)
+
 # Report for the whole libabigail tagged builder set
 generator_libabigail = reporters.BuildSetStatusGenerator(
         mode=('change',), tags=['libabigail'])
diff --git a/htdocs/index.html b/htdocs/index.html
index 9d12fb9..b08a17b 100644
--- a/htdocs/index.html
+++ b/htdocs/index.html
@@ -144,6 +144,11 @@
 	  <td><a href="/buildbot/#builders/gccrust-fedora-ppc64le">fedora-ppc64le<br>
 	      <img src="/buildbot/badges/gccrust-fedora-ppc64le.svg"></a></td>
 	</tr>
+	<tr>
+	  <td><a href="/buildbot/#/builders?tags=gdb">gdb</a></td>
+	  <td><a href="/buildbot/#builders/gdb-centos-x86_64">centos-x86_64<br>
+              <img src="/buildbot/badges/gdb-centos-x86_64.svg"></a></td>
+	</tr>
 	<tr>
 	  <td><a href="/buildbot/#/builders?tags=libabigail">libabigail</a></td>
 	  <td><a href="/buildbot/#builders/libabigail-centos-x86_64">centos-x86_64<br>
-- 
2.30.2


  parent reply	other threads:[~2022-04-26 22:34 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <YmZkKRO+yUHeFqV0@wildebeest.org>
2022-04-25 10:37 ` Luis Machado
2022-04-25 10:43   ` Frank Ch. Eigler
2022-04-25 12:16     ` Luis Machado
2022-04-25 12:30       ` Frank Ch. Eigler
2022-04-25 18:20       ` Mark Wielaard
2022-04-25 18:27         ` Frank Ch. Eigler
2022-04-25 22:11           ` Mark Wielaard
2022-04-26  3:33         ` Alan Modra
2022-04-26  6:22           ` Jan Beulich
2022-04-26 12:27             ` Nick Clifton
2022-04-26 13:49               ` Jan Beulich
2022-04-26 15:47                 ` H.J. Lu
2022-04-27  6:15                   ` Jan Beulich
2022-04-28 12:10                 ` Nick Clifton
2022-04-28 13:07                   ` Jan Beulich
2022-04-26 15:54           ` H.J. Lu
2022-04-26 23:33             ` Alan Modra
2022-04-27 18:32               ` [PATCH] x86: Disable 2 tests with large memory requirement H.J. Lu
2022-04-26  7:01         ` Adding binutils to the GNU Toolchain buildbot on sourceware Luis Machado
2022-04-26  9:40           ` Frank Ch. Eigler
2022-04-26 22:59             ` Mark Wielaard
2022-04-26 22:34           ` Mark Wielaard [this message]
2022-04-28 12:23             ` Luis Machado
2022-04-28 13:50               ` Frank Ch. Eigler
2022-04-28 13:53                 ` Luis Machado
2022-04-28 14:22                   ` Frank Ch. Eigler
2022-04-28 17:04                     ` Mark Wielaard
2022-04-28 14:48                   ` Mark Wielaard
2022-04-28 14:19               ` Mark Wielaard
2022-04-28 14:47                 ` Thomas Fitzsimmons
2022-04-28 16:28                   ` Mark Wielaard
2022-04-29 20:04                     ` gdb builder status (Was: Adding binutils to the GNU Toolchain buildbot on sourceware) Mark Wielaard
2022-05-01 19:44                       ` Mark Wielaard
2022-05-03 15:41                         ` Simon Marchi
2022-05-13  8:21                       ` Mark Wielaard
2022-04-28 17:50               ` Adding binutils to the GNU Toolchain buildbot on sourceware Nick Alcock
2022-04-29 17:54                 ` Mark Wielaard
2022-04-30  0:12                   ` Nick Alcock
2022-04-30 22:27                     ` Mark Wielaard
2022-05-03 12:48                       ` Nick Alcock

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=YmhzY4c3pOPLRgSw@wildebeest.org \
    --to=mark@klomp.org \
    --cc=binutils@sourceware.org \
    --cc=fche@elastic.org \
    --cc=gdb@sourceware.org \
    --cc=luis.machado@arm.com \
    --cc=overseers@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).