Operation Buildborg #20

Open
opened 2024-08-31 11:15:21 +00:00 by k900 · 3 comments
Member

aka building ofborg on top of buildbot

Core ofborg features we need in rough order of complexity:

  • eval checks
    • should be made part of the normal buildbot eval (release-checks?)
  • rebuild count reports
    • special buildbot job that does two evals and runs a diff
    • refactor service to post results to gerrit
  • testing the affected packages
    • can we somehow use buildbot's change tracking for this? need investigating
  • magic ofborg build/eval/test commands
    • add a ForceScheduler for starters, then we can maybe do a webhook to start builds from gerrit commands
  • pinging maintainers
    • oof
aka building ofborg on top of buildbot Core ofborg features we need in rough order of complexity: - eval checks - should be made part of the normal buildbot eval (release-checks?) - rebuild count reports - special buildbot job that does two evals and runs a diff - refactor service to post results to gerrit - testing the affected packages - can we somehow use buildbot's change tracking for this? need investigating - magic ofborg build/eval/test commands - add a ForceScheduler for starters, then we can maybe do a webhook to start builds from gerrit commands - pinging maintainers - oof
Owner

Pinging maintainers should possibly be part of a separate tagging bot tbh, but I can also see wanting to just shove it in buildbot to use buildbot to deal with the gerrit API bits.

It looks like Google has a thingy here that has a web plugin for scheduling "tryjobs" that they use on chromium/gerrit/go/others https://chromium.googlesource.com/infra/gerrit-plugins/buildbucket/+/refs/heads/main/web/. We could potentially take (inspiration from) some of that code for a clean Gerrit integration.

Pinging maintainers should *possibly* be part of a separate tagging bot tbh, but I can also see wanting to just shove it in buildbot to use buildbot to deal with the gerrit API bits. It looks like Google has a thingy here that has a web plugin for scheduling "tryjobs" that they use on chromium/gerrit/go/others https://chromium.googlesource.com/infra/gerrit-plugins/buildbucket/+/refs/heads/main/web/. We could potentially take (inspiration from) some of that code for a clean Gerrit integration.
Author
Member

The reason I want pinging maintainers in ofborg and not in some other place is for it to be consistent with what packages we consider "affected" by a certain PR (i.e. what gets rebuilt etc)

The reason I want pinging maintainers in ofborg and not in some other place is for it to be consistent with what packages we consider "affected" by a certain PR (i.e. what gets rebuilt etc)

I'll probably comment with more ofborg load-bearing quirks, but not listed yet above is eval cleanliness checks, i.e. no trace warnings or anything during normal package-set eval with aliases disabled. In ofborg this happens during each outpath calculation step and during check-meta-queue-builds step, but not during other eval checks (and e.g. the aliases-enabled check definitely needs to not check for trace output)

As long as it happens at all though, I'm indifferent where/how it happens in Buildborg

I'll probably comment with more ofborg load-bearing quirks, but not listed yet above is eval cleanliness checks, i.e. no trace warnings or anything during normal package-set eval with aliases disabled. In ofborg this happens during each outpath calculation step and during check-meta-queue-builds step, but not during other eval checks (and e.g. the aliases-enabled check definitely needs to not check for trace output) As long as it happens at all though, I'm indifferent where/how it happens in Buildborg
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lix-project/buildbot-nix#20
No description provided.