Dies ist eine alte Version des Dokuments!


Structure / Workflow

Layers

  • Each project should have its own layer called meta-<projectname> to hold any and all changes and additions needed for that project.
  • Each project should also define an image named <projectname>-image (rather than appending ost-image et al).
  • Any changes to recipes other layers (e.g. meta-ost) are carried out by appending the recipe in meta-<projectnmae> and only upstreamed if deemed appropriate at a later date.

General layer structure

  • meta-ost
    • meta-ost-ros
    • meta-ost-toradex
    • (meta-ntb-ethercat (internal use only))
      • meta-<projectname>

meta-ost is the core layer for OST specific changes and should only contain recipes applicable to the MACHINES in it. It should not rely on BSPs that are not part of poky.

Recipes and MACHINES that rely on external BSPs should get their own layer named meta-ost-<vendor>, e.g. meta-ost-toradex for the colibri-imx6 based cb20, that requires the Toradex BSP. This second layer also contains layers such as meta-ost-ros and meta-ntb-ethercat which don't rely on external BSPs, but provide optional software features. Recipes that require large or numerous dependencies – such as meta-ost-ros – should be split into its own layer as to keep the core build slim.

CI/CD

The CI/CD pipeline is integrated into Gitlab and split into 2 parts: the layer and general configuration data.

The general configuration is located in its own repository under ci/yocto. It contains the scripts and config files necessary to easily build the images, as well as the gitlab CI template yocto.gitlab-ci.yml that serves as the basis for the layer's CI config.

The only layer currently equipped with a CI/CD pipeline is meta-ost ( gitlab). Its .gitlab-ci.yml includes yocto.gitlab-ci.yml and defines a job for each hardware platform and build stage (image, sdk, esdk), building each component and uploading it to gitlab as an artifact.

Submitting changes