diff --git a/ci/assets/oniro-ci-flow.png b/ci/assets/oniro-ci-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..0aa0bdae8feb4e710d99e846349f3e4745245c6b Binary files /dev/null and b/ci/assets/oniro-ci-flow.png differ diff --git a/ci/assets/oniro-ci-flow.png.license b/ci/assets/oniro-ci-flow.png.license new file mode 100644 index 0000000000000000000000000000000000000000..b23a85e2641e098a6c0cc2a16c805cd56252d547 --- /dev/null +++ b/ci/assets/oniro-ci-flow.png.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Huawei Inc. + +SPDX-License-Identifier: CC-BY-4.0 \ No newline at end of file diff --git a/ci/device-testing.rst b/ci/device-testing.rst index 598b44295b705f4727f71ef20d83c80f2a1d4e74..557a6f64671b8582771873ba7faaa1fd64e15d02 100644 --- a/ci/device-testing.rst +++ b/ci/device-testing.rst @@ -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 -----------------------------