[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