Re: Bulk build information

Jonathan Perkin <[email protected]> Mon, 6 Apr 2026 11:16:15 +0100
Newsgroups gmane.os.netbsd.devel.packages
Message-ID <[email protected]>
* On 2026-03-27 at 14:11 GMT, Thomas Klausner wrote:

>On Fri, Mar 27, 2026 at 12:58:09PM +0100, Jonathan Perkin wrote:
>> My question is what other information do people want added?  One thing I'd
>> like to add if possible is a link to the change that might be responsible
>> for the failure or most recent commit, though naturally that will get
>> complicated.  Anything else?
>
>My wishlist: differences to the previous build: what failed before and
>built now, what built before and failed now, what was unmasked from a
>fixed build failure and still doesn't build.
>
>But that needs information about the previous build.

I've now added most of this to the bob report.  See the most recent 
macOS build for an example:

   https://mail-index.netbsd.org/pkgsrc-bulk/2026/04/06/msg028410.html
   https://reports.pkgci.org/Darwin/14.5/arm64/20260405T113350Z/report.html

I haven't included "what failed before and built now" in the reports 
because I feel that might result in too much overwhelming information, 
especially if e.g. someone breaks something fundamental and then the 
next build results in 20,000 "fixed" packages.  The reports currently 
only include packages that fail.

Things that I've included that I think are useful are:

  * Links to git compare URLs if we have revisions used for each build.

  * Sort on "Previously" so that builds that were previously successful
    and are now broken are highlighted first.  Indirect->Direct fails are
    less interesting, but still included.

  * PKGPATH columns links to the package in question so you can see
    recent commits and identify possible causes.  GitHub does not (as far
    as I can see) provide a way to link to just the changes between revs
    for that path, but this is likely something we can extend manually
    with bob to list relevant commits.

There's also a new 'bob diff' command that will give you this 
information in diff(1)-style output, e.g. for this build:

   $ bob diff
   --- 20260404T215812Z
   +++ 20260405T113350Z
   @@ +108 failures, -5 fixes, ~1 change @@
    PKGNAME                              PKGPATH                       BREAKS  STAGE
   +kf6-kglobalaccel-6.18.0nb3           x11/kf6-kglobalaccel          177     build
   +kf6-sonnet-6.18.0nb3                 textproc/kf6-sonnet           171     install
   +kf6-solid-6.18.0nb3                  sysutils/kf6-solid            158     install
   +qca2-qt6-2.3.10nb3                   security/qca2-qt6             156     build
   ...
   ~py311-pyobjc-core-12.1               devel/py-pyobjc-core          152     build
   -kpathsea-6.4.2                       print/kpathsea                3143
   -vlna-1.5nb12                         print/vlna                    2
   -py314-Glances-4.5.3                  sysutils/py-Glances           0

As with most bob commands you can customise the columns etc to get the 
exact information you want, and you can also compare against arbitrary 
build_id's to e.g. ignore a transient build you want to ignore the 
results of, etc.

Hope that's useful.  I'm still tweaking things, but this will make it 
into bob 0.99.0 due probably some time this week, along with a wip/bob 
for people to test.

-- 
Jonathan Perkin                    pkgsrc.smartos.org
Open Source Complete Cloud   www.tritondatacenter.com