Skip to content

Dynamic LAVA tests - #389

Draft
Loïc Minier (lool) wants to merge 7 commits into
qualcomm-linux:mainfrom
lool:boards-json
Draft

Dynamic LAVA tests#389
Loïc Minier (lool) wants to merge 7 commits into
qualcomm-linux:mainfrom
lool:boards-json

Conversation

@lool

@lool Loïc Minier (lool) commented May 1, 2026

Copy link
Copy Markdown
Contributor

Run LAVA on target boards and suites, as captured in build info:

  • scripts: bundle-flash-dirs: output boards.json
  • ci: debos: generate and publish boards JSON
  • ci: lava-test: filter matrix to supported boards
  • ci: linux: pass boards_json to LAVA test job
  • ci: build-daily: pass boards_json to LAVA test job
  • ci: debos: add boards.json to per-suite build-info
  • ci: test-pr: run LAVA tests per-suite

Fixes: #387

The script now accepts an optional third argument: a path to write a
JSON list of boards supported in each tarball. Each entry records
board name, storage type, and the flash tarball where it lives. No
change in behaviour when the argument is omitted.

Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com>
Call bundle-flash-dirs with a third argument pointing to
${PREFIX}-boards.json. Capture a compact one-line JSON as output of
the staging step, and pretty-print it in place before upload.

Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com>
Add an optional boards_json input to intersect ci/lava/ templates
against boards supported in that particular build. board names are
matched against template names. When boards_json is empty the
behaviour is unchanged and all templates are submitted.

Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com>
Pass boards_json from debos-linux-deb job to lava-test.yml.

Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com>
Pass boards_json from build-daily debos job to lava-test.yml.

Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com>
Rename the build_url file to build-url.txt, drop it together with
boards.json into a build-info-artifact/ staging directory, and upload as
"<suite>-build-info" so matrix builds don't compete to upload the same
build-url artifact.

This also provides the boards database alongside the build URL to
test-pr.yml which is a separate workflow run and doesn't have direct
access to prior workflow outputs.

Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com>
Replace the single retrieve-build-url + test pair with a
retrieve-build-info job that downloads every <suite>-build-info artifact
from the workflow_run and emits a matrix include[] of {suite, url,
boards_json}. The test job then calls lava-test.yml once per suite in
parallel.

This fixes the artifact-name collision that previously meant only
one suite's build_url survived, and uses the per-suite boards.json
so each suite's LAVA matrix is filtered to boards that are actually
supported for that suite's build.

Signed-off-by: Loïc Minier <loic.minier@oss.qualcomm.com>
@github-actions

Copy link
Copy Markdown

This PR is stale. Add a nice message, can mention maintainers or maintainer team to draw attention

@github-actions github-actions Bot added the Stale label Jul 31, 2026
@mwasilew

Copy link
Copy Markdown
Contributor

Loïc Minier (@lool) I propose to drop this PR and migrate to lava-test-plans + reusable workflow. This is started in #405. I'll be working on it soon (probably this week)

@github-actions github-actions Bot removed the Stale label Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Need to check supported boards before triggering CI

2 participants