From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gnu.wildebeest.org (gnu.wildebeest.org [45.83.234.184]) by sourceware.org (Postfix) with ESMTPS id 155B23856DEE for ; Thu, 7 Jul 2022 23:13:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 155B23856DEE Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=klomp.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=klomp.org Received: from reform (deer0x0e.wildebeest.org [172.31.17.144]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id DA648302AB2C; Fri, 8 Jul 2022 01:13:35 +0200 (CEST) Received: by reform (Postfix, from userid 1000) id 81B8E2E82239; Fri, 8 Jul 2022 01:13:19 +0200 (CEST) Date: Fri, 8 Jul 2022 01:13:19 +0200 From: Mark Wielaard To: Christophe Lyon Cc: buildbot@sourceware.org, Szabolcs Nagy , Luis Machado Subject: Re: Arm GDB buildbot workers Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="8Vbn/OJYA4AX7KSM" Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: buildbot@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "The https://builder.sourceware.org/ buildbot" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jul 2022 23:13:39 -0000 --8Vbn/OJYA4AX7KSM Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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 --8Vbn/OJYA4AX7KSM Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0001-Add-arm64-and-armhf-ubuntu-20-04-22-04-workers-with-.patch" >From d7e0c3ec16da7de8f958babbbb53dd7e6b47bb14 Mon Sep 17 00:00:00 2001 From: Mark Wielaard 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 --8Vbn/OJYA4AX7KSM--