Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create CI job which runs Mbed tests on hardware #237

Open
multiplemonomials opened this issue Feb 4, 2024 · 0 comments
Open

Create CI job which runs Mbed tests on hardware #237

multiplemonomials opened this issue Feb 4, 2024 · 0 comments
Labels
Task Not a bug per se, just something that needs to be done

Comments

@multiplemonomials
Copy link
Collaborator

We should be able to do this with GitHub Actions via Self-Hosted Runners: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners.

I'd say that the biggest requirement here is, maintainers should be able to choose which devices on the device farm that the code is tested on via some mechanism such as applying labels to the PR. This should prevent the huge amount of device farm load which would happen if we just tested every PR on every device.

Additionally, the actions system needs to enforce, somehow, that the correct jobs go to the correct device farm machines. For example, if I tag my job with NUCLEO_L4, it needs to go to a device farm box that has a STM32L4 board attached and ready to run jobs.

The most naive solution would be to create a self-hosted runner for each device attached to each device farm machine, and tag the runner with a label matching one of the devices attached to it. Then, the job would specify that it can only run on machines which that Mbed device attached.

This is nice because it means we can get parallelism by adding multiple device farmers with the same boards attached, but it does mean that in a worst case scenario every device could be building at once on a machine. I worry that that could cause it to run out of RAM, even if each job uses ninja -j1

@multiplemonomials multiplemonomials converted this from a draft issue Feb 4, 2024
@multiplemonomials multiplemonomials added the Task Not a bug per se, just something that needs to be done label Feb 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Task Not a bug per se, just something that needs to be done
Projects
Development

No branches or pull requests

1 participant