[MacPorts] #54648: buildbot schedules builds for subports that have already been built
MacPorts
noreply at macports.org
Mon Aug 21 03:53:57 UTC 2017
#54648: buildbot schedules builds for subports that have already been built
-----------------------------+----------------------
Reporter: ryandesign | Owner: admin@…
Type: defect | Status: new
Priority: Normal | Milestone:
Component: server/hosting | Version:
Resolution: | Keywords: buildbot
Port: |
-----------------------------+----------------------
Changes (by ryandesign):
* keywords: => buildbot
Comment:
I think the problem is arising when I occasionally [ticket:54247 redeliver
failed GitHub webhooks].
When we first implemented the new buildbot system using the old Subversion
server, we had a "problem" that when a revision was committed, the
buildbot would build the port as it appeared in the HEAD of the
repository, not as it appeared in that revision. I remember we had a
discussion about this, and my understanding was that we had concluded that
although this wasn't what we had originally intended, it worked out better
that way, because our goal wasn't to build every revision; our goal was to
build the latest revision. So if two commits came in for the same port
within a short time, before the buildbot had a chance to start work on the
first revision, it was fine if it only built the second revision.
In redelivering the GitHub webhooks, I had assumed that behavior was still
in place, but it appears not to be. Now, the git clone is rolled forward
or back to the commit in question before building. And of course the local
portindex is updated to reflect that state. So if I were to update php70
to a new version, and then redeliver a webhook from before that php70
update, uninstall-old-ports.tcl would dutifully uninstall the latest
php70—and every other port updated since the commit currently being
built—because the index now contains older versions of ports.
[https://build.macports.org/builders/ports-10.12_x86_64-builder/builds/35461
Here's one example] where I committed an update to mongo-tools on July 24,
the webhook delivery status was recorded as failed (though it probably did
actually get processed the first time, buildbot just didn't respond
quickly enough), and I resent the webhook when I noticed that problem on
July 31. The
[https://build.macports.org/builders/ports-10.12_x86_64-builder/builds/35461/steps/cleanup/logs/stdio
cleanup step] shows over 1500 ports—presumably all those that were
modified between those two dates—getting uninstalled.
Ideally I would fix the buildbot so that it's not so slow, but there could
be other reasons why webhook delivery would fail, such as the buildbot
being down due to software update or power outage, and I would want to
redeliver those webhooks. And I wonder if the same problem would occur if
someone used the buildbot "Rebuild" button.
Was the buildbot behavior deliberately changed, and if so what problem
were we trying to solve? Could we go back to the previous behavior where
we always build from the HEAD of the repository?
--
Ticket URL: <https://trac.macports.org/ticket/54648#comment:5>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list