Hardware Continuous Integration

The postmarketOS project has support for running CI directly on hardware for specific devices. This has been designed with the following goals in mind:

  • Ensure reliability of specific functionality on specific devices

  • Reduce friction for contributions through easier and broader automated testing

  • Enable long-term crowd sourced / decentralised board farm

Note

This project is still Work-In-Progress, and many of the features might still be unstable. Errors are expected, and interested people are encouraged to contribute to the general development of the infrastructure.

After a previous attempt at building a custom system did not make it production, and some further research, the team decided to use CI-tron as the tool to manage hardware, and provide integration to our current GitLab CI.

Overall architecture

Overview of the HW/SW testing architecture

There are 4 main components that make up a hardware testing system:

You can read more about the different components and their usage in their corresponding sections.