Skip to content
Snippets Groups Projects
Commit d5a3f63d authored by Chase Qi's avatar Chase Qi
Browse files

ci: add oniro CI flow


Signed-off-by: default avatarChase Qi <chase.qi@linaro.org>
parent 9f769924
No related branches found
No related tags found
No related merge requests found
ci/assets/oniro-ci-flow.png

216 KiB

SPDX-FileCopyrightText: Huawei Inc.
SPDX-License-Identifier: CC-BY-4.0
\ No newline at end of file
...@@ -21,7 +21,7 @@ How does the CI system work? ...@@ -21,7 +21,7 @@ How does the CI system work?
---------------------------- ----------------------------
The system automatically performs a set of test jobs upon a new or The system automatically performs a set of test jobs upon a new or
modified pull request. Failed jobs stop the pipeline, allowing you to review modified merge request. Failed jobs stop the pipeline, allowing you to review
build logs, reproduce and resolve the failure locally. build logs, reproduce and resolve the failure locally.
The central system maintains a queue and schedules build and test jobs for the The central system maintains a queue and schedules build and test jobs for the
available workers. The workers may be auto-scaled, for example, virtual machines available workers. The workers may be auto-scaled, for example, virtual machines
...@@ -60,17 +60,30 @@ Typically micro-sites will also see a more limited usage, for example, to ...@@ -60,17 +60,30 @@ Typically micro-sites will also see a more limited usage, for example, to
support a bootstrap of a new project or preparing the process for automation support a bootstrap of a new project or preparing the process for automation
for a new device. for a new device.
What does LAVA do? Oniro CI Flow
------------------ -------------
1. The LAVA job definition template populates the required variables for .. image:: assets/oniro-ci-flow.png
executing the test job using the values from the Gitlab CI. :width: 600
2. This job is submitted via REST API, and the LAVA executes the job. :alt: Oniro CI Flow
3. Using the callback system, LAVA triggers the last CI job in the loop, the
report job. Oniro CI Flow
4. The report job calls LAVA REST API to collect the result.
5. The report is submitted back to Gitlab, and the developers can see the 1. New merge request triggers the CI pipeline.
report in their merge request. 2. The pipeline build stage builds and uploads artifacts.
3. Test job under test stage is triggered once the dependent build job
finishes.
4. The LAVA job definition template populates the required variables for
executing the test job using the values from the GitLab CI.
5. The test job is submitted using the REST API, and the LAVA executes the job.
6. Report job is added to the pipeline, if all the dependent test jobs are
added.
7. After all LAVA test jobs for the pipeline finish, using the callback system,
LAVA triggers the last CI job in the loop, the report job.
8. The report job calls LAVA REST API to collect the test results.
9. The report is submitted back to GitLab, and the test report can be seen in
the merge request.
Setting up Remote LAVA Worker Setting up Remote LAVA Worker
----------------------------- -----------------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment