Minutes from face-to-face meeting @ FU Berlin on November 12, 2013

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 […]

Best, Martine