GSoC Proposal

Zero King l2dy at icloud.com
Sun Apr 2 12:21:16 UTC 2017


On 4/2/17 6:03 AM, Mojca Miklavec wrote:
> Thank you. Please include that into the proposal as well. It wasn't
> clear to me whether your project would be a full "replacement"
> compared to the current functionality of the buildbot or just covering
> some small load cycle (like doing very very basic checks). It seems
> you aim for the former.
>
> In that case there are a few things that potentially worry me.
>
> 1.) They have HomeBrew installed. This is probably a bad thing and a
> good thing at the same time. The official server should not have any
> traces of HomeBrew to avoid linking against /usr/local/whatever
> instead of /opt/local (but it's not a dealbreaker for the testing
> infrastructure). Then again, we might spot some problems and try to
> avoid them when we find such cases.

I'll uninstall Homebrew from the VM if needed.

> 2.) We sometimes consume almost 100% of server load on a multicore
> server (sometimes for a couple of days). And we sometimes run out disk
> space. What happens if Travis bans us (or asks for a price that we
> cannot afford to pay) right at the moment when the full solution gets
> implemented? I believe we should contact Travis upfront to make sure
> that they can meet our expectations. And in any case I would like to
> see slightly more details about how the plan intends to keep our
> footprint (disk resources and cpu cycles) low. Would you uninstall all
> existing packages after each trial and install them again from
> packages.macports.org for the next build? Would you keep official
> packages installed & inactive between multilple runs and just clean up
> whatever the pull request tried to build? (Less important: How would
> you avoid rebuilding the whole of Qt after, say, minor edit of
> comments in a pull request?)

Travis won't keep the VMs up. Every build gets a fresh VM (no need to 
cleanup) and could only run for 50 minutes so if a build takes too long 
it will fail anyway.

You're right about high server load. Since we already have the Buildbot 
infrastructure I'll only do install tests in PRs. Lint tests will be 
done for both commits and PRs. I'll limit the number of ports to test so 
if a PR touches too many ports it'll only do lint tests. We can also use 
tags like [ci-skip] in PR title or label to skip some tests.

Installing from packages.macports.org would avoid rebuilding 
distributable ports after minor edits.

Travis is unlikely to ban us but if that happens we can keep only macOS 
10.12 or only the lint tests (which can even be done on Linux) and 
contact them to unban us.

> The alternative can always be to use our own server for builds, but of
> course that brings other problems to the table (mostly security) and
> requires a completely different approach.

Yes, mostly security considerations. We'll have to use VMs and revert to 
snapshot after every build in our own servers. Managing VMs and sending 
data around securely would be painful to setup.

> And yes, it would be great if mpbb sources could be shared (and
> improved for both buildbot & travis at the same time). Not a
> requirement, but if one part can benefit from the other, that would be
> great.
>
> Mojca

-- 
Best regards,
Zero King



More information about the macports-dev mailing list