public inbox for buildbot@sourceware.org
 help / color / mirror / Atom feed
From: Mark Wielaard <mark@klomp.org>
To: Christophe Lyon <christophe.lyon@arm.com>
Cc: buildbot@sourceware.org, Szabolcs Nagy <Szabolcs.Nagy@arm.com>,
	Luis Machado <Luis.Machado@arm.com>
Subject: Re: Arm GDB buildbot workers
Date: Fri, 8 Jul 2022 01:13:19 +0200	[thread overview]
Message-ID: <Ysdoj05QHX6Kjf2X@wildebeest.org> (raw)
In-Reply-To: <f52f3c82-7c39-b205-8dbb-efe29a445c5a@arm.com>

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

Hi Christophe,

On Thu, Jul 07, 2022 at 03:50:51PM +0200, Christophe Lyon wrote:
> As discussed on IRC we are going to enable workers on our Ampere "big"
> machine.
> 
> For a start, we are going to try with GDB, having 4 different docker
> containers on the machine covering ubuntu-20.04/ubuntu-22.04 x
> arm64/armhf, using 4 CPUs each.
> 
> I am not sure if we need a single password for all workers, or 4 of them?

You need 4 names, in theory the passwords could be the same for each,
but I'll sent you 4 names with 4 different passwords (off-list).

Lets name them arm64-ubuntu20_04, arm64-ubuntu22_04, armhf-ubuntu20_04
and armhf-ubuntu22_04.

> For each of them that means:
> ncpus:4
> maxcpus:4
> max_builds:1

OK. See the attached patch, 4 new workers each connected to a gdb CI
builder.

> Once these work, I'll add more containers for glibc, binutils and
> hopefully GCC.

Note that it might be helpful for keeping builds totally separate you
can use a worker for multiple builders. Depending on the number of
vcpus and memory available they can do the builds serially or in
parallal (with max_builds > 1).

> I think this small patch is desirable:
> diff --git a/builder/containers/bb-start.sh b/builder/containers/bb-start.sh
> index 31cdbc9..220e82e 100755
> --- a/builder/containers/bb-start.sh
> +++ b/builder/containers/bb-start.sh
> @@ -18,6 +18,7 @@ fi
> 
>  # Fill in the info visible in the buildbot website
>  # objcopy gives us the binutils version, iconv the glibc version
> +mkdir -p $worker_dir/info
>  echo buildbot@sourceware.org > $worker_dir/info/admin
>  echo $IMAGE_NAME > $worker_dir/info/host
>  gcc --version | head -1 >> $worker_dir/info/host

The info dir should have been created by buildbot-worker create-worker.

BTW. The containers and the bb-start.sh script are somewhat
over-complicated because they are written to be created and
instantiated by the buildbot and so have severa layers of abstraction
that aren't needed if you build the image and start the container
upfront.

Cheers,

Mark

[-- Attachment #2: 0001-Add-arm64-and-armhf-ubuntu-20-04-22-04-workers-with-.patch --]
[-- Type: text/x-diff, Size: 4697 bytes --]

From d7e0c3ec16da7de8f958babbbb53dd7e6b47bb14 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Fri, 8 Jul 2022 01:08:52 +0200
Subject: [PATCH] Add arm64 and armhf ubuntu 20-04/22-04 workers with GDB CI
 builders

---
 buildbot.config.sample |  4 +++
 builder/master.cfg     | 60 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+)

diff --git a/buildbot.config.sample b/buildbot.config.sample
index 8cd1b21..75b7f5f 100644
--- a/buildbot.config.sample
+++ b/buildbot.config.sample
@@ -16,6 +16,10 @@ fedrawhide-x86_64=frob
 ibm_power8=frob
 ibm_power9=frob
 ibm_power10=frob
+arm64-ubuntu20_04=frob
+arm64-ubuntu22_04=frob
+armhf-ubuntu20_04=frob
+armhf-ubuntu22_04=frob
 
 # Users
 bb_admin=frob
diff --git a/builder/master.cfg b/builder/master.cfg
index cc35ea9..5b1ab0b 100644
--- a/builder/master.cfg
+++ b/builder/master.cfg
@@ -191,6 +191,34 @@ ibm_power10_worker = worker.Worker("ibm_power10",
                                                       'cel@us.ibm.com']);
 c['workers'].append(ibm_power10_worker)
 
+arm64_ubuntu20_04_worker = worker.Worker("arm64-ubuntu20_04",
+                                         getpw("arm64-ubuntu20_04"),
+                                         max_builds=1,
+                                         properties={'ncpus': 4, 'maxcpus': 4},
+                                         notify_on_missing=['christophe.lyon@arm.com']);
+c['workers'].append(arm64_ubuntu20_04_worker)
+
+arm64_ubuntu22_04_worker = worker.Worker("arm64-ubuntu22_04",
+                                         getpw("arm64-ubuntu22_04"),
+                                         max_builds=1,
+                                         properties={'ncpus': 4, 'maxcpus': 4},
+                                         notify_on_missing=['christophe.lyon@arm.com']);
+c['workers'].append(arm64_ubuntu22_04_worker)
+
+armhf_ubuntu20_04_worker = worker.Worker("armhf-ubuntu20_04",
+                                         getpw("armhf-ubuntu20_04"),
+                                         max_builds=1,
+                                         properties={'ncpus': 4, 'maxcpus': 4},
+                                         notify_on_missing=['christophe.lyon@arm.com']);
+c['workers'].append(armhf_ubuntu20_04_worker)
+
+armhf_ubuntu22_04_worker = worker.Worker("armhf-ubuntu22_04",
+                                         getpw("armhf-ubuntu22_04"),
+                                         max_builds=1,
+                                         properties={'ncpus': 4, 'maxcpus': 4},
+                                         notify_on_missing=['christophe.lyon@arm.com']);
+c['workers'].append(armhf_ubuntu22_04_worker)
+
 # 'protocols' contains information about protocols which master will use for
 # communicating with workers. You must define at least 'port' option that workers
 # could connect to your master with this protocol.
@@ -589,6 +617,10 @@ gdb_scheduler = schedulers.SingleBranchScheduler(
                       "gdb-debian-testing-x86_64",
                       "gdb-debian-armhf",
                       "gdb-debian-arm64",
+                      "gdb-arm64-ubuntu20_04",
+                      "gdb-arm64-ubuntu22_04",
+                      "gdb-armhf-ubuntu20_04",
+                      "gdb-armhf-ubuntu22_04",
                       "gdb-debian-i386",
                       "gdb-ibm-power8",
                       "gdb-ibm-power9",
@@ -2333,6 +2365,34 @@ gdb_ibm_power10_builder = util.BuilderConfig(
         factory=gdb_factory)
 c['builders'].append(gdb_ibm_power10_builder)
 
+gdb_arm64_ubuntu20_04_builder = util.BuilderConfig(
+	name="gdb-arm64-ubuntu20_04",
+        workernames=["arm64-ubuntu20_04"],
+        tags=["gdb", "arm64", "ubuntu"],
+        factory=gdb_factory)
+c['builders'].append(gdb_arm64_ubuntu20_04_builder)
+
+gdb_arm64_ubuntu22_04_builder = util.BuilderConfig(
+	name="gdb-arm64-ubuntu22_04",
+        workernames=["arm64-ubuntu22_04"],
+        tags=["gdb", "arm64", "ubuntu"],
+        factory=gdb_factory)
+c['builders'].append(gdb_arm64_ubuntu22_04_builder)
+
+gdb_armhf_ubuntu20_04_builder = util.BuilderConfig(
+	name="gdb-armhf-ubuntu20_04",
+        workernames=["armhf-ubuntu20_04"],
+        tags=["gdb", "armhf", "ubuntu"],
+        factory=gdb_factory)
+c['builders'].append(gdb_armhf_ubuntu20_04_builder)
+
+gdb_armhf_ubuntu22_04_builder = util.BuilderConfig(
+	name="gdb-armhf-ubuntu22_04",
+        workernames=["armhf-ubuntu22_04"],
+        tags=["gdb", "armhf", "ubuntu"],
+        factory=gdb_factory)
+c['builders'].append(gdb_armhf_ubuntu22_04_builder)
+
 # binutils-gdb build steps, factory and builders
 # just a native build
 
-- 
2.30.2


  reply	other threads:[~2022-07-07 23:13 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-07 13:50 Christophe Lyon
2022-07-07 23:13 ` Mark Wielaard [this message]
2022-07-08 10:11   ` Christophe Lyon
2022-07-08 10:46     ` 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=Ysdoj05QHX6Kjf2X@wildebeest.org \
    --to=mark@klomp.org \
    --cc=Luis.Machado@arm.com \
    --cc=Szabolcs.Nagy@arm.com \
    --cc=buildbot@sourceware.org \
    --cc=christophe.lyon@arm.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).