[MacPorts] #53979: buildbot: merge portwatcher jobs

MacPorts noreply at macports.org
Mon Aug 3 14:02:03 UTC 2020


#53979: buildbot: merge portwatcher jobs
----------------------------+----------------------
  Reporter:  mojca          |      Owner:  admin@…
      Type:  enhancement    |     Status:  new
  Priority:  Low            |  Milestone:
 Component:  buildbot/mpbb  |    Version:
Resolution:                 |   Keywords:  buildbot
      Port:                 |
----------------------------+----------------------

Comment (by ryandesign):

 Not sure why I was [comment:1 arguing about this]; probably just trying to
 avoid working on it. I agree with you, we should reduce the number of
 unnecessary builds if we can.

 I suppose we are only talking about merging builds in portwatcher queues.
 A portbuilder queue is expected to have multiple builds, one for each
 port; those can't be merged. There shouldn't ever be a time when a
 portbuilder queue has more than one pending build for a particular port.
 And we don't want to merge builds in a base queue; we want to build each
 base commit so that we can identify which commit introduced or fixed a
 problem.

 This feature is now called
 [http://docs.buildbot.net/latest/manual/configuration/global.html#cfg-
 collapseRequests collapseRequests]. The concern would just be that we
 still need to build every port we're supposed to. And we need to be able
 to attach status information to the relevant GitHub commit.

 For example, suppose that while a portwatcher is busy, a commit ''b''
 comes in that modifies php, then a force-build request comes in for xz,
 then a commit ''c'' that modifies harfbuzz, then another commit ''d'' that
 modifies php, then a force-build comes in for fontconfig, and then the
 portwatcher that was busy finishes. If we collapse all of that activity
 into one portwatcher build, it still needs to trigger one portbuilder
 build for each of those ports and their subports. So, the list of files
 modified in the commits needs to be merged, and the contents of the
 portlist property needs to be merged. Not sure how much of that buildbot
 does for us automatically; would need to try it out. (As long as force-
 building only involves a portlist field this may work, but if we want to
 add additional force-build fields it becomes less clear how to combine
 them.) The build status for harfbuzz should still be attached to commit
 ''c'', build status for php should be attached to commit ''d'', and I
 think for the force builds we would not want to attach build status to any
 commit since those builds did not originate from commits.

-- 
Ticket URL: <https://trac.macports.org/ticket/53979#comment:4>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list