# Simple CI - Takeaways
## Basic idea for drist-like interface:
* Instead of having big Makefile logic, symlink the subdirectories into
like /build/linux-kernel. Then the CI daemon knows to go to /build and
run "make" in the "linux-kernel" directory
- Not all software just uses make, so there is more steps to this
- Probably better to avoid a daemon
* So you have your old tree, identify easily buildable modules which
need to be controlled with CI, symlink from there to drist-ci
* For pull/management/users, everyone keeps their repository and the
build system pulls in
- Should rather be ran from a central place with git hooks where
everyone is collaborating on the same git repo
- KatolaZ wrote some software called scorsh which might help with
inspiration
## Various
* Use make and mail?
- Too much overhead, and you're probably running it on a remote
system
* Reduce all problems to sub parts, which return some error code or not
* If the error code appears, post the output to some UI, like some
email/rss
- Also consider the possibility/necessity of "live" output
* queuing is only necessary if test execution load is close to compute
capability
- Consider torque/maui or slurm which schedule execution
* build artifacts should be pulled with some regex
* See Evil_Bob's suckless patch interface
-
https://gunther.suckless.org/patches/
* git hook could signal the queue system, or just execute drist(?)
* Premium development support is 20k EUR per month
## TODO
* Write a proof of concept for bitreich's git repositories