As a developer, I want to have builds, tests, code analysis, and documentation run automatically so that I can be confident in my and other developers code.
Set up an action to build
set up an action to run tests
set up an action to run code anaylsis
set up an action to run docs
Carried out by Matthew and Angus
Steps:
Investigate how github CI works (done)
Determine how to set up local runner (done)
Set up user on pi to host runner (done)
Result:
GitHub has runners much like Gitlab, which can run on a local device and then connect to github to retrieve jobs. This means they can run on our local network with no additional configuration required.
Security consideration: GitHub recommends only allowing self hosted runners on private repositories, because malicious users can create pull requests to run arbitrary code on your runner. This requires careful sandboxing if allowed for the public.
Should investigate possibility of only running CI for jobs created by us
Configured runner on pi-server and successfully connected it to repository. Not tested how the actions are configured.
Next steps:
Choose a unit test framework. GoogleTest or Boost?
As a developer, I want to have builds, tests, code analysis, and documentation run automatically so that I can be confident in my and other developers code.
Carried out by Matthew and Angus
Steps:
Result: GitHub has runners much like Gitlab, which can run on a local device and then connect to github to retrieve jobs. This means they can run on our local network with no additional configuration required.
Security consideration: GitHub recommends only allowing self hosted runners on private repositories, because malicious users can create pull requests to run arbitrary code on your runner. This requires careful sandboxing if allowed for the public.
Should investigate possibility of only running CI for jobs created by us
Configured runner on pi-server and successfully connected it to repository. Not tested how the actions are configured.
Next steps: