[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