GSoC 2019 [Buildbot ideas]

Mojca Miklavec mojca at macports.org
Fri Mar 22 18:01:56 UTC 2019


Dear Rajdeep,

Sorry for some delay, but here are some other general ideas related to
the buildbot.

My feeling is that implementing https://trac.macports.org/ticket/55978
alone might not be enough on its own to fill the full summer (I leave
it up to Pierre to judge).

If this project get selected, you could additionally – depending on
your interests – either concentrate more on further improvements from
the buildbot side (it's super useful software for us; it would be up
to the buildbot community to assist and suggest how to extend the
project), or spend some time on other buildbot or UI-related stuff on
the MacPorts side, or any mixture of the two.

Here are some random ideas from the MacPorts side.

(a) Create a Portfile for buildbot 2.x
    https://trac.macports.org/ticket/53006
This could also be a suitable "starting task" for before the coding
period as you would learn a bit about how packaging new software
works; we are not yet sure what to do with javascript dependencies
though.

(b) (Stepwise) migrate our existing setup to buildbot 2.x
    https://trac.macports.org/ticket/56044
Requires more work, but it shouldn't be impossible to do; some parts
would be needed anyway to make the UI testing possible at all.

(c) Allow github authentication (might come almost for free with the
new buildbot version)
    https://trac.macports.org/ticket/52455

(d) "Disposable builds" to allow doing pull requests with Buildbot
One of the biggest issues with our CI is that Buildbot is only
building ports when they have already been committed to master. For
security reasons we use Travis and Azure to check pull requests, but
we would prefer to use Buildbot instead if someone would manage to get
disposable images running using libvirt (ideally down to 10.6, but
even if just the latest ones were supported, that would already help):
    http://docs.buildbot.net/2.1.0/manual/configuration/workers-libvirt.html
    https://github.com/kholia/OSX-KVM

(e) In case that statistics web app gets done by another student, a
standalone / independent UI might be useful as you suggested in the
other proposal. In that case one student could write the API at the
very beginning and the UI in React or Vue could be done any time after
the basic API is up and running. (It depends on the other proposal as
well, I haven't seen any draft proposals yet, so cannot judge yet.)

At some point you could also try to follow
    https://github.com/macports/macports-infrastructure/blob/master/buildbot/README.md
for the old (= existing) buildbot setup as a reference (and complain
whenever the instructions are not clear enough or buggy) and some kind
of starting point before transition to 2.x.

Don't hesitate to keep asking questions if you need any help or hints.

Mojca


More information about the macports-dev mailing list