[MacPorts] #52765: buildbot: implement "successcache"
MacPorts
noreply at macports.org
Tue Nov 1 03:16:19 CET 2016
#52765: buildbot: implement "successcache"
----------------------------+---------------------
Reporter: ryandesign | Owner: admin@…
Type: enhancement | Status: new
Priority: Normal | Milestone:
Component: server/hosting | Version:
Keywords: | Port:
----------------------------+---------------------
The buildbot should not attempt to install a port if it has already been
installed. This situation might arise if a commit is made that only
modifies a portfile's whitespace but the port was already built
successfully on the buildbot before, or if some but not all of a port's
subports are updated (e.g. the php port). This currently just wastes
potentially a lot of time thrashing the disk activating and deactivating
ports (e.g. the leopard-ppc-legacy builder can take over a day to process
an update to the php port).
We just need to check if the port's archive file already exists on disk.
The old macOS forge buildbot did this. We can borrow code for this from
the [browser:mpbb/chroot-
scripts/buildports at 55a86bdea25762449b6c821c3e4a5ebd2490e6cc#L92 old
buildports script].
An open question for me is where to do this check: in portwatcher, or in
portbuilder, or both? I would say we certainly need it in portbuilder.
Doing it in portwatcher also would have advantages. For example, if
portwatcher sees that 226 of the 264 subports of php have already been
built, it would save a lot of time to only schedule the 38 needed
portbuilder builds. And we eventually want to be able to do a build of
"all" ports on each builder, but not waste time processing ports that have
already been installed. On the other hand, that wouldn't give portbuilder
a chance to upload possibly missed archives, as Mojca suggested to do in
#51995.
--
Ticket URL: <https://trac.macports.org/ticket/52765>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list