From: Carlos O'Donell <carlos@redhat.com>
To: Mark Wielaard <mark@klomp.org>,
Overseers mailing list <overseers@sourceware.org>
Cc: "Philip Herron" <philip.herron@embecosm.com>,
"Thomas Fitzsimmons" <fitzsim@fitzsim.org>,
"Sergio Durigan Junior" <sergiodj@sergiodj.net>,
"Dan Horák" <dhorak@redhat.com>,
"Julian Seward" <jseward@acm.org>
Subject: Re: Moving buildbot master to sourceware
Date: Wed, 6 Apr 2022 12:27:33 -0400 [thread overview]
Message-ID: <3e789283-fa3d-2011-4679-9b44aaf18772@redhat.com> (raw)
In-Reply-To: <Yk1RrKVq3TwxEUrO@wildebeest.org>
On 4/6/22 04:39, Mark Wielaard wrote:
> Hi Carlos,
>
> On Mon, Apr 04, 2022 at 06:15:01PM -0400, Carlos O'Donell via Overseers wrote:
>>> Maintenance of the master is fairly minimal and it doesn't require
>>> that many resources. The current state database, git poller and build
>>> logs total less than 3.5G for hundreds to thousands of builds for all
>>> of the above projects.
>>>
>>> The bike shed items for installing this on sourceware are:
>>>
>>> - Whether to install buildbot from pip or epel. My preference is
>>> throug pip under a user account since that is how I run it
>>> locally. But using the epel package is fine too.
>>> - Running it under sourceware.org/buildbot or adding a vhost
>>> builder.sourceware.org. My preference is for a vhost.
>>> - A git repo for the master.cfg file builder.git (*)
>>> Plus a git trigger to reload to config by the buildbot master.
>>> - A user, group and homedir to store the state and password/key files
>>> /sourceware/home/builder/
>>> - The initial members of the builder group which can update the git
>>> repo and key files. The people on CC?
>>> - A mailinglist to coordinate builder@sourceware.org or we could
>>> simply use the overseers mailinglist.
>>
>> Can we deploy this as a buildbot master container with some customization?
>>
>> This would make the service easier to keep going during sourcware updates because
>> dependencies would be decoupled.
>>
>> It would allow developers to test pre-production changes locally by using the same
>> container.
>
> The most natural "container" for a pure python app that we'll be
> maintaining through pip is a python virtualenv. I have scripts to
> setup and update the virtualenv so it is easy to replicate and play
> with independently. You can wrap those in a whole system image of
> course. I'll make sure to document that process.
Agreed, virtualenv is a good alterantive.
>> This is how upstream patchwork changes are being developed, which DJ and I are
>> looking at because we will need to update patchwork to v3.1 upstream when it's
>> released with DJ's new changes.
>
> Is there documentation on how sourceware patchwork is currently
> deployed? Are you actually running a patches upstream version? I am
> happy to help upgrading.
Siddhesh has notes.
We are running Patchwork 2.2 stable with just a few fixes related to our environment.
Thanks for the offer. We're waiting for upstream v3.1 to be released with DJ's patches.
> I haven't had to make any changes to upstream/packaged/pip buildbot
> because all configuration is done through a python file (so if you do
> really have to monkey patch the upstream version you can add those to
> the config file).
Right.
>> My plan was to work with downstream distributions, ISVs, and IHVs who are interested
>> in a particular project to donate workers. In order to do that though we have to make
>> the act of installing and setting up a worker very low friction and very safe.
>>
>> The workers should arguably have a net positive impact for the downstream, or ISV, or
>> IHV, so they need a way to measure that they prevented a patch that breaks their
>> configuration of interest. So I also need to make sure they can gather metrics for
>> reporting on the resources they are spending e.g. how soon after going red on their
>> build was it corrected?
>>
>> For example, could Red Hat or IBM donate workers?
>>
>> Can we grow best practice CI adoption in our mature projects by making it easy?
>
> All good ideas and, if you have the matching project developers, then
> adding more workers is in general a good thing.
>
> There are a few lessons about making CI most effective:
>
> - Start small with a minimal environment and a minimal subset of tests
> that just have to work.
> - Always keep the builder green.
> - If it is a flaky test leave it out.
> - If there is a test that is failing consistently, but nobody fixes
> it, file a bug and take it out.
> - Only expand if you have developers that care to keep that environment green.
> - Only add workers if you have devxelopers on the project that can take
> care of the new build environments created for it.
> - If you have a worker that is unique in some way (say for a
> non-common architecture) arrange for project maintainers to get
> access to it outside the buildbot so they can actually debug
> problems.
Agreed.
> For tracking actual success/failures/added/removed tests we could look
> at feeding the test logs from buildbot to bunsen.
Agreed. Though I sill want to point out that each individual may have different
metrics for what means success and we need to ensure they can easily gather
those metrics.
--
Cheers,
Carlos.
next prev parent reply other threads:[~2022-04-06 16:27 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-04 10:02 Mark Wielaard
2022-04-04 15:24 ` Frank Ch. Eigler
2022-04-04 20:09 ` Mark Wielaard
2022-04-04 22:15 ` Carlos O'Donell
2022-04-06 8:39 ` Mark Wielaard
2022-04-06 16:27 ` Carlos O'Donell [this message]
2022-04-12 12:14 ` Philip Herron
2022-04-17 20:55 ` Mark Wielaard
2022-04-18 21:56 ` Mark Wielaard
2022-04-22 0:40 ` Mark Wielaard
2022-05-24 1:55 ` Mark Wielaard
2022-05-24 23:59 ` 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=3e789283-fa3d-2011-4679-9b44aaf18772@redhat.com \
--to=carlos@redhat.com \
--cc=dhorak@redhat.com \
--cc=fitzsim@fitzsim.org \
--cc=jseward@acm.org \
--cc=mark@klomp.org \
--cc=overseers@sourceware.org \
--cc=philip.herron@embecosm.com \
--cc=sergiodj@sergiodj.net \
/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).