A simple-stupid self-hosted continuous integration service.
Kevin is a self-hostable CI daemon to build pull requests inside temporary containers.
It was mainly developed for openage, but you can use it for any project!
Kevin can create doc files, bundle software, run tests, make screenshots, end world hunger, calculate the last digits of pi: all in a custom container.
Requires Python >=3.6, tornado >=5.1 and qemu.
kevin
daemon is notified by a github webhook.kevinfile
are executed.curl
or websocket API.Makefile-like control file (kevinfile
)
Live-view of build console output
GitHub pull requests
File output
Container management
You have to set up 3 things: Kevin, Falk and Chantal. Optionally, serve the Mandy webinterface with any static webserver.
How? Lurk into our setup guide.
If you have questions, suggestions, encounter any problem, please join our Matrix channel and ask!
Of course, create issues and pull requests.
Released under the GNU Affero General Public License version 3 or later, see COPYING and LICENSE for details.