Minutes from the Face-to-Face Developer Meeting @ FU Berlin on November 12, 2013
[…] CI and Testing Infrastructure
- manual testing too time consuming - we need a CI system - we want a "hardware support table" - Martine: CI can create this automatically
- jenkins needs to get set up + GitHub plugin for auto hooks - hosting on our own hardware as we need to connect some embedded boards - lint or similar would be a benefit - code coverage testing
- make target buildtest for all platforms (ticket for Ludwig, already done and merged) - for every PR: build for all platforms
- test and run code only on manual request - CI should only build the code - flash new binary to hardware only on manual comment "flash" in the PR
- does jenkins provide this functionality? - Oleg will provide a PC with active USB hubs, Linux and Tomcat - Martine will start setting up Jenkins
I've done some research (for the actual set-up I need the hardware btw *poke Oleg*): Jenkins-Plugins we need: * Github pull request builder: https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin which depends on (and are also nice to have): * Github: https://wiki.jenkins-ci.org/display/JENKINS/GitHub+Plugin * Github API: https://wiki.jenkins-ci.org/display/JENKINS/GitHub+API+Plugin * Git: https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin
Nice to have: * Warnings: https://wiki.jenkins-ci.org/display/JENKINS/Warnings+Plugin * Valgrind: https://wiki.jenkins-ci.org/display/JENKINS/Valgrind+Plugin
Test/flash on manual request (i. e. by a special commit comment) is supported by Vanilla Jenkins, normal shell commands, too.
Hardware support table can be build depending on which tests passed for which platform.
* There is no lint plugin for C, but normal shell lint will do I think.
- we need to have at least one test case for every core unit - these core tests always need to pass […]