Opened 5 years ago

Last modified 15 months ago

#14985 new enhancement

Have concourse build changes submitted for review on Gerrit

Reported by: pulkomandy Owned by: haiku-web
Priority: normal Milestone: Unscheduled
Component: Website/Gerrit Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description (last modified by pulkomandy)

It would be nice to have concourse check that changes submitted on Gerrit do not break the build. Later on we can also integrate running haiku-format or other checks, too.

Changes needed:

  • Concourse needs to be triggered somehow for each submitted change.
  • Gerrit has a REST API to submit the results. The bot can automatically +1 or -2 the build (in a category separate from human code reviews)
  • Gerrit is planning an API for inline review comments, so it could even pinpoint the exact place where there is a build error. But I think this is not in current releases yet.

Change History (8)

comment:1 by pulkomandy, 4 years ago

Description: modified (diff)
Summary: Have buildot build changes submitted for review on GerritHave concourse build changes submitted for review on Gerrit

comment:2 by pulkomandy, 4 years ago

FYI: Wireshark Gerrit does not trigger build automatically for all submitted changes, but only when devs set a specific flag (called "petri-dish" in their case). This can reduce the load on the buildbots.

comment:3 by pulkomandy, 2 years ago

Component: Sys-AdminWebsite/Gerrit

comment:4 by pulkomandy, 15 months ago

We have madmax's build bot doing this for a while now. Do we plan to move that into something controlled by the sysadmin team and/or haiku inc or do we keep it like it is?

comment:5 by kallisti5, 15 months ago

We'll likely need a gerrit resource plugin for Concourse (which doesn't exist today)

Here's an example plugin for Github pull requests. Essentially the concourse pipeline would "get" from gerrit as a trigger, and build PR's (aka open gerrit merge requests)

https://github.com/telia-oss/github-pr-resource

These plugins work via code (any language) running in a container with standard entry points for various plugin functions.

I wrote a really simplistic one for IRC notifications which will likely make writing a plugin a bit easier to understand:

https://github.com/haiku/irccat-resource

Last edited 15 months ago by kallisti5 (previous) (diff)

comment:6 by pulkomandy, 15 months ago

Wasn't this part done (at least partially) during GSoC 2021?

https://www.haiku-os.org/blog/ritz

comment:7 by kallisti5, 15 months ago

Yeah, I was a backup mentor for that one and was never notified of the project being done, etc.

I can take a look. We need to merge that repo into the haiku org at github (and rename it)

Note: See TracTickets for help on using tickets.