[Webkit-unassigned] [Bug 249031] New: [META][WPE] Set-up performance bots with RPis and implement support in the WebKit tooling for automatic cross builds
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Dec 9 11:10:39 PST 2022
https://bugs.webkit.org/show_bug.cgi?id=249031
Bug ID: 249031
Summary: [META][WPE] Set-up performance bots with RPis and
implement support in the WebKit tooling for automatic
cross builds
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: WPE WebKit
Assignee: webkit-unassigned at lists.webkit.org
Reporter: clopez at igalia.com
CC: bugs-noreply at webkitgtk.org
This is a meta-bug that will serve as an umbrella for landing and enabling the WPE continuous performance bots.
Long short history is that we want to have WPE test bots running on embedded boards (RPi boards specifically) continuously benchmarking WebKit to help tracking and bisecting any performance regression.
As a side effect of this work the WebKit tooling will gain support for easily cross-building WPE (and also GTK if wanted) for different embedded boards
The main idea of how this will work is the following:
1) Build-ony bot
- A bot (x86_64) will cross-build WPE for a specific target board like any of this: rpi3-32bits-mesa-vc4, rpi3-32bits-userland, rpi4-32bits-mesa-vc4, rpi3-64bits-mesa-vc4, rpi4-64bits-mesa-vc4
- The bot will also generate the image (OS) that will run on the board. This image will contain everything needed except WPE itself
2) Test-only bots
- This will be a set of RPis boards, each one will boot the image that was generated from the build-only boot (via PXE)
- The RPi will download the built-product from the test-only boot and run the performance tests
- For running the performance tests it will use the script browserperfdash-benchmark which is a wrapper around the script run-benchmark
- The results of the benchmarks will be uploaded to https://browserperfdash.igalia.com/
The definition of how the toolchain is built, how webkit is built, and every single package that goes into the image will be defined inside the WebKit repository. This is important as it will allow us to bisect performance regressions easily. The idea is that if you checkout a commit of WebKit from 6 months ago you can build *exactly* the same thing that was running on the boards back then.
To support this, the tooling will automatically detect any change on the definitions of how the image or WPE is built and clean/rebuild everything accordingly. The boards will be also aware of this and will reboot themselves if the image they are running doesn't match the WebKit checkout version, so when they reboot they will boot with the new image built from the build-only boot (via PXE) and continue the testing.
To support this several changes are required on the webkit tooling. The cross-toolchain and the images will be built with Yocto (OpenEmbedded) under the hood.
For more details see the bugs attached to this on the "Depends on" field.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20221209/51cc8803/attachment.htm>
More information about the webkit-unassigned
mailing list