diff --git a/docs/ci/hidden-jobs/publish-rauc-bundle-to-hawkbit.rst b/docs/ci/hidden-jobs/publish-rauc-bundle-to-hawkbit.rst new file mode 100644 index 0000000000000000000000000000000000000000..fa6d7d694c79eda9ba5bc54ac49bf977f309f32d --- /dev/null +++ b/docs/ci/hidden-jobs/publish-rauc-bundle-to-hawkbit.rst @@ -0,0 +1,36 @@ +.. SPDX-FileCopyrightText: Huawei Inc. +.. +.. SPDX-License-Identifier: CC-BY-4.0 + +=============================== +.publish-rauc-bundle-to-hawkbit +=============================== + +The `.publish-rauc-bundle-to-hawkbit` job uses `hawkbitctl` to publish a +pre-build bundle to a HawkBit instance. The bundle is uploaded as an *artifact* +to a new *software module*, which is then used to create a new *distribution +set*. + +Usage Guide +=========== + +The `.publish-rauc-bundle-to-hawkbit` job should be paired with the +:doc:`build-rauc-bundle-job` using the `needs: ...` and `dependencies: ...` +keywords, so that the bundle file is transferred as an artifact between the two +jobs, and no other artifacts are needlessly copied. + +The following variables should be set in the job definition: + + - `CI_ONIRO_HAWKBIT_SWMOD_NAME` is the name of the software module to create. + - `CI_ONIRO_HAWKBIT_DS_NAME` is the name of the distribution set to create. + - `CI_ONIRO_RAUC_BUNDLE` is the name of the Yocto recipe responsible for the bundle. + - `MACHINE` is the Yocto machine variable. + +Note that the job relies on the presence of two artifact files: the bundle +itself, which contains a timestamp-based version string, and the symbolic link +pointing to it. The job that builds the bundle handles this automatically but +custom jobs may need additional logic to preserve both files. + +The job will run automatically for tags, scheduled pipelines and for merge +requests. Branch pipelines are excluded to avoid publishing extensive number of +artifacts.