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?
----------------------------
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.
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
......@@ -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
for a new device.
What does LAVA do?
------------------
1. The LAVA job definition template populates the required variables for
executing the test job using the values from the Gitlab CI.
2. This job is submitted via REST API, and the LAVA executes the job.
3. Using the callback system, LAVA triggers the last CI job in the loop, the
report job.
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
report in their merge request.
Oniro CI Flow
-------------
.. image:: assets/oniro-ci-flow.png
:width: 600
:alt: Oniro CI Flow
Oniro CI Flow
1. New merge request triggers the CI pipeline.
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
-----------------------------
......
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