Semi-automating updates

Mojca Miklavec mojca at macports.org
Sun Mar 25 22:34:55 UTC 2018


On 26 March 2018 at 00:14, Rainer Müller wrote:
> On 2018-03-25 06:11, Ryan Schmidt wrote:
>>
>> Currently PRs are tested by a separate build infrastructure on Travis. It runs on three systems: Xcode 7.3 on OS X 10.11, Xcode 8.3 on macOS 10.12, and Xcode 9.3beta on macOS 10.13. These builds deliver different results than the Buildbot would. For example, if a port requires pkgconfig, and that dependency has not been declared, the build on the Buildbot will likely fail because pkgconfig is not there; the developer can notice this and correct the error. But on Travis, pkgconfig often gets installed as a dependency earlier in the process, so we won't notice if a port has failed to declare that dependency (until the PR gets merged and then built by the Buildbot).
>
> How could this be a difference between buildbot and Travis? Both are
> using mpbb to build, which deactivates all ports between builds. It
> should give the same results in any execution environment.

When you are building port A which depends on a non-distributable
dependency B and forgets to add a dependency to pkg-config, while B
correctly declares dependency on pkg-config, then pkg-config will be
installed on Travis, but (usually) not on the buildbot.

This "bug" is also present on the buildbot of course, but you would
usually not see it because you only activate B on the buildbot
(without pkg-config), while you would activate B's build dependency on
Travis before building B.

(I don't know whether trace mode hides pkg-config from build of A in
such a case or not.)

Mojca


More information about the macports-dev mailing list