Skip to content

ci: Finish merging LAVA & bare-metal init, fix up environment regressions

Daniel Stone requested to merge daniels/mesa:ci-init-unification into main

This series carries on with the work from !11309 (merged) to reduce the duplication between LAVA and bare-metal. Environmental settings between the LAVA and bare-metal worlds are pulled together, then the bare-metal script is pulled out into two stages: a first stage for very early bring-up (base devices, network, etc), and a second stage to actually execute the job. bare-metal pretty faithfully executes these two together.

The LAVA job is changed to generate the YAML directly from Python structs, rather than a Jinja template. As part of this, it can now inline the early init script into the job definition, followed by pulling and expanding the per-build and per-job overlays, then jumping into second-stage init to run the jobs.

It also fixes up some environment variable misuse noted by @anholt in !11329 (merged).

There is still some opportunity to untangle and clarify the way the environment variables are set (e.g. to actually do it more consistently per device), but this will do for now I think.

/cc @anholt @tomeu @padovan @mupuf @chturne

Edited by Daniel Stone

Merge request reports