A CI/CD pipeline is an automated process and forms the basis of test and build automation. It is made up of individual stages and is used to make the creation, testing and deployment of software components more efficient, reliable and faster. This is used in modern software development and makes it easier for you to deliver quick, small improvements to the software, i.e. to continuously integrate code changes and automatically test and deploy them.
Analysis of the software with checks for compliance with coding standards, analysis of metrics, language correctness, etc.
A method of deploying new firmware to the product after it has successfully passed all automated tests and manual gates.
By building and testing the customized project with the latest versions of the layers, these updates can be applied without manual effort. If the build and tests are successful, the latest layers can be used directly for further custom hardware development. If the process fails, DH electronics receives timely feedback on which part of the test failed and where additional work is needed when a new custom BSP release is due.
In the past, the kernel sources for customer-specific hardware were provided as a customer-specific branch of a repository provided by DH electronics. Therefore, updating to the latest kernel patch level required manual effort. With the integration of customer devices into the CI/CD structure, the kernel repository is switched to the customer-specific Yocto patches. The reason for this is that kernel updates can be applied automatically with this procedure.
Background: For current Yocto sources, it is possible to provide customer-specific patches for the mainline kernel instead of a complete software repository. By updating the Yocto layers, the kernel version used is also updated and the patches provided are applied to this version. As long as the build does not fail during the patch process, no manual work is required. If the build fails, this is early feedback on what needs to be checked when an update is due.