Skip to content

Commit 6d7cce9

Browse files
mwasilewricardosalveti
authored andcommitted
ci: add README for lava test plans
This commit adds README.md describing the usage and constraints of the test job templates in ci/lava directory. Signed-off-by: Milosz Wasilewski <milosz.wasilewski@oss.qualcomm.com>
1 parent d746b2b commit 6d7cce9

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

ci/lava/README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Test setup
2+
3+
`ci/lava` directory contains directories with names corresponding to build MACHINE names.
4+
New directories should only be added after the build is available for a given MACHINE.
5+
All files in the `ci/lava/<MACHINE>` directory should have `.yaml` extension.
6+
Each file should be a valid LAVA job template.
7+
8+
LAVA templates are used to create test jobs during the CI runs in this repository.
9+
This happens for the following triggers:
10+
- pull_request
11+
- push
12+
- cron (nightly build)
13+
14+
# LAVA job templates
15+
16+
Job templates can use the following variables:
17+
- `DEVICE_TYPE`: name of the LAVA device type or alias. Full list can be found on [LAVA master web interface](https://lava.infra.foundries.io/scheduler/device_types)
18+
- `GITHUB_SHA`: Commit ID corresponding to the github action trigger
19+
- `BUILD_FILE_NAME`: Name of the build artifact to be downloaded. It's constructed as: `core-image-base-${DEVICE_TYPE}.rootfs.qcomflash.tar.gz`
20+
- `BUILD_DOWNLOAD_URL`: URL where the build artifacts can be found. This variable is constructed as: `${{inputs.url}}/${DEVICE_TYPE}/${BUILD_FILE_NAME}` where `{{inputs.url}}` comes from the build action.
21+
- `GITHUB_RUN_ID`: ID of the current Github run.
22+
23+
After variable substitution the file should form a valid LAVA job definition.
24+
25+
# Template validation
26+
27+
Template validation is performed as github action using `lavasoftware/lava-server` container.
28+
Version of the container will be kept in sync with the LAVA server running the test jobs.
29+
Validation script, `schemacheck.py`, uses LAVA code from `lava_common.schemas.validate` method and PyYAML parser.
30+
31+
## Local template validation
32+
33+
Before checking the schema locally, all variables mentioned above need to be substituted.
34+
Templates can be validated using `lavasoftware/lava-server` container.
35+
36+
docker run --rm -v $PWD:/home/ lavasoftware/lava-server:latest python3 /home/ci/schemacheck.py /home/ci/lava

0 commit comments

Comments
 (0)