Question
Continuous Integration Using github Actions: to Static Test and Compile in every commit
Is anyone doing this (CI) ? any suggestions/ideas are welcomed.
What i found so far:
GitHub provides Linux, Windows, and macOS virtual machines to run your workflows, or you can host your own self-hosted runners in your own data center or cloud infrastructure.- How to compile using makefiles
- @Community member here Same topic but different objective.
- In-house localy hosted runners, great to connect to test rigs, adding a localhosted runner to a repo.
- reddit post, they are having an interesting discussion about setting up the github's Docker-Created remote environmet
Quoting wrhnks "The purpose of the continuous delivery is to update your production environment with the latest release. Regarding embedded systems this step is really hard because you need to at least have some way to deliver this new binary to your devices, and handle possible issues that may arise."What I have done in the past is to have a shell script that grabs all the dependencies and a makefile to run tests/build steps. Another option is to build an docker image with all these steps, push it to a docker registry, and set up your CI to use this docker image to run the tests and build steps.- here, @PADAM.1 , wonders how to compile a cubeIde project from the ubuntu command line, this is interesting in order to do the same with the github dockered ubuntu machine.
@toroid mentions he was using gitlab
Quote toroid "A related issue that I am having now is that I cannot use the abovementioned command anymore to compile in Docker (in gitlab CI). The docker image is an ubuntu 16.04 that has gcc-arm-none-eabi installed. This used to work.... Maybe changes between CubeIde versions broke it, not sure. I cannot install Stm32cubeIde in Docker to do what Pavel suggested. "- As pointed by @toroid , here @Miles tries to use headless builds to setup his CI system
- Great video about using makefiles with generated makefile from cubemx
