CI: Add support for test builds and automated testing via labgrid

Frieder Schrempf requested to merge feature/ci-testing2 into main

This contains some small preparations for automated testing via CI and a final commit that implements this. Currently there are two simple test cases (only for BL/AL i.MX8MM):

  • Check if U-Boot is running and the U-Boot version can be printed via the console.
  • Check if the Linux console is available and the Linux version can be printed.

The test jobs are run on a special GitLab runner with the tag test that is located on the test server. This runner uses the labgrid-client container image to interface with the labgrid-coordinator (also on the test server) and the labgrid-exporters (on the RPi devices of the individual test stations).

To make sure all tools for testing are available, there is a build job for building a special test image (image-ked-test) that is then deployed to the test station before running the test cases.

The test pipeline is only run when the CI variable TESTING is set to true. We can use this to create a scheduled (nightly) test pipeline that is run out of sync with regular pushes, etc. In the future we can also create different test sets to be run on different occasions.

Edited by Frieder Schrempf

Merge request reports