CI: Add support for test builds and automated testing via labgrid
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.