[MacPorts] #69837: Redesign R ports/portgroup so that a revbump is not needed after major R updates
MacPorts
noreply at macports.org
Fri Apr 26 22:02:43 UTC 2024
#69837: Redesign R ports/portgroup so that a revbump is not needed after major R
updates
------------------------+--------------------
Reporter: ryandesign | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Keywords: | Port: R
------------------------+--------------------
Revbumping all 4,854 R ports after a major R update, as was done in
[6fde9135d5a6eecb1f719535588f4812bc01431b/macports-ports] and
[2329655ef76aaf38dcd204702ba981a6169b77b3/macports-ports], completely
incapacitates the buildbot. It's not just that building that many ports
will take weeks, if everything works perfectly. It's that buildbot
(version 0.8, at least) is not designed to handle that many pending
builds. I don't know if there's a missing SQLite index or some other
problem but last year when this happened, with thousands of pending builds
on each builder, it took literally hours for the buildmaster to decide
which pending build to start next each time, during which time all the
builders sat idle. A quick back-of-the-envelope calculation suggests that,
left unattended, that would take a decade to resolve itself. It took me
hours of manual work to cancel all the jobs to make the buildbot
functional again. Oh, and last year it was only 2,047 ports.
This time, fortunately most of the workers were busy on other builds and I
was able to remove the commit from the queue before it was processed, and
the ones that were already processing it had only gotten to the mirroring
step (which by itself takes hours—not to mirror the files, just to verify
that they're already mirrored) and were easy to cancel before the
individual port builds got scheduled. I then loaded the list of changed
ports into a script that I use to mass build ports in small batches (a
script usually used to build all ports when a new macOS version is
released) like I did last time. These batches will probably take a month
to complete, since a new batch isn't scheduled unless the builder is
almost idle, but at least the buildbot will be functional and building
things during that time. The "reason" field in each batch will show how
many ports remain to be scheduled on that builder.
Please redesign the R ports/portgroup so that revbumping all of them at
once is not needed again (with the exception of one final mass revbump to
remove the R version number from the install path).
If the version number in the install path is not the only problem and such
a redesign is not possible, then such mass revbumps need to be coordinated
with the buildbot administrator which would be me. I would probably need
to be the one to merge the pull request, ensuring that GitHub webhooks are
turned off beforehand and turned back on afterward, and then I would need
to set up and run the batch script.
--
Ticket URL: <https://trac.macports.org/ticket/69837>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list