CI Task Force (CITF) - RIOT-OS/RIOT GitHub Wiki
Continuous Integration Task Force (CITF)
Members:
- Kaspar Schleiser (Shepherd)
- Sebastian Meiling
Charter
The primary goal of CITF is to improve on the current situation of automated builds and tests for RIOT OS, aka. continuous integration.
Work Items and Milestones
WP1
- W1 Define mandatory and optional CI requirements
- due: March 2016
- W2 Select and evaluate candidates for a RIOT CI
- due: April 2016
- M1 Final decision on RIOT CI framework
- due: May 2016
WP2
- W3 Plan CI hardware and system architecture
- hardware for CI master and slaves
- linux distro, e.g. CentOS7, Debian, Ubuntu LTS
- virtualization? VMs, container
- W4 Setup and deploy RIOT CI framework
- W5 Test and evaluate CI implementation
- M2 CI ready to replace Travis
W1 - Requirements
Work item 1 defines mandatory and optional requirements, they are listed in the following subsections. To avoid confusion each point should be briefly explained.
mandatory
- builds RIOT
- fast and scalable
- master-slave architecture to scale-out
- allow for multiple, parallel job exec
- stable and reliable
- should run 24/7
- regular updates
- github-integration
- monitors github for changes
- i.e., commits, pull request
- user management
- log into CI with different roles, e.g. admin, user
- grant rights to view, create, modify, delete jobs
- grant rights to add, remove CI slaves
- web interface
- view CI jobs, even without login
optional
- run tests on real hardware
W2 - CI candidates
Let's keep an open mind here and list any viable candidate, even if we have valid (but personal) objections on a certain software. For starters and some initial pointers there is an overview on Wikipedia.