OldManYellsAtCloud / meta-browser

OpenEmbedded/Yocto BSP layer for Web Browsers
MIT License
3 stars 1 forks source link

Add some smoke test and CI integration #42

Closed OldManYellsAtCloud closed 6 months ago

OldManYellsAtCloud commented 1 year ago

Would be good to have some smoke tests, especially after bigger updates it would help to avoid broken builds for archs not used freqeuntly. Having a CI machine would be an extra bonus.

OldManYellsAtCloud commented 7 months ago

In progress - in ci-setup branch.

Progress:

Arch / Release Dunfell Kirkstone Nanbield Scarthgap
arm Done Done Done Done
aarch64 Done Done Done Done
x86_64 Done Done Done Done
RISC-V N/A N/A In progress In progress

Some thoughts, for myself:

The initial idea is to build the browser (both esr and latest) for all current Yocto releases. As the first shot core-image-sato is built, with Firefox bolted on top of it. For arm and aarch64 the image is built for rpi3 (mostly because I have a couple of them lying around - though I'm also dogfooding aarch64 on the latest Yocto, with the Pinephone). For x86_64 a qemu image is built. The RISC-V image will be built for Star64 (from Pine64).

Regarding automated cross-platform tests: I don't plan to have any, mostly due to lack of environment. For now I consider it a too big task for a 1-man hobby project - maybe in the future. Unfortunately qemu's performance makes it unusable for such tests on platforms that don't match the host system (hence only x86_64 is built for qemu)

Risc-V is only built for Nanbield and Scarthgap for now, mostly due to the compatibility list of meta-riscv layer , which is not meant for older releases.

One thing that's kind of inconvenient is that in case I build an image in the workspace without the github runner, then the next github workflow will build the next image from scratch, ignoring the existing artifacts and sstate cache - and also taking up a lot of space. Not a showstopper now, but eventually I will have to get to the bottom of that.