All Projects → SFTtech → Kevin

SFTtech / Kevin

Licence: other
A simple-stupid self-hostable continuous integration service. 🙈

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Kevin

Docker For All
Docker applied in development, devops, testing, product management etc.
Stars: ✭ 88 (-7.37%)
Mutual labels:  continuous-integration
Packcheck
Universal build and CI testing for Haskell packages
Stars: ✭ 91 (-4.21%)
Mutual labels:  continuous-integration
Dyn365 Ce Vsts Tasks
VSTS Extension for Dynamics 365 Customer Engagement
Stars: ✭ 94 (-1.05%)
Mutual labels:  continuous-integration
Test Each
🤖 Repeat tests. Repeat tests. Repeat tests.
Stars: ✭ 89 (-6.32%)
Mutual labels:  continuous-integration
Ant nest
Simple, clear and fast Web Crawler framework build on python3.6+, powered by asyncio.
Stars: ✭ 90 (-5.26%)
Mutual labels:  asyncio
Aws Lambda Vpc Nat Examples
Example of setting up AWS lambda function with VPC and NAT
Stars: ✭ 92 (-3.16%)
Mutual labels:  internet
Kotlin Networking
Kotlin Networking - An elegant networking library written in Kotlin
Stars: ✭ 88 (-7.37%)
Mutual labels:  internet
Ib insync
Python sync/async framework for Interactive Brokers API
Stars: ✭ 1,329 (+1298.95%)
Mutual labels:  asyncio
Dgos
Operating System
Stars: ✭ 90 (-5.26%)
Mutual labels:  qemu
Ecs Nginx Proxy
Reverse proxy for AWS ECS. Lets you address your docker containers by sub domain.
Stars: ✭ 93 (-2.11%)
Mutual labels:  continuous-integration
Node Webdollar
WebDollar Protocol - Currency of the Internet
Stars: ✭ 89 (-6.32%)
Mutual labels:  internet
Eldev
Elisp Development Tool
Stars: ✭ 89 (-6.32%)
Mutual labels:  continuous-integration
Raven Aiohttp
An aiohttp transport for raven-python
Stars: ✭ 92 (-3.16%)
Mutual labels:  asyncio
Friday
An open-source virtual assistant.
Stars: ✭ 88 (-7.37%)
Mutual labels:  simple
Bmenu
A general purpose terminal menu that focuses on ease of configuration and use.
Stars: ✭ 94 (-1.05%)
Mutual labels:  simple
Demo
Easy to use KubeVirt demo based on minikube.
Stars: ✭ 88 (-7.37%)
Mutual labels:  qemu
Libreselery
Continuous distribution of funding to your project contributors and dependencies. Integrated into GitHub Actions
Stars: ✭ 92 (-3.16%)
Mutual labels:  continuous-integration
Url Classification
Machine learning to classify Malicious (Spam)/Benign URL's
Stars: ✭ 95 (+0%)
Mutual labels:  internet
Perfectwindows
PerfectWindows 软件家族 - Windows 从未如此完美!
Stars: ✭ 1,326 (+1295.79%)
Mutual labels:  simple
Yui
Minimal vim color scheme
Stars: ✭ 93 (-2.11%)
Mutual labels:  simple

Kevin CI

A simple-stupid self-hosted continuous integration service.

Dafuq?

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.

How?

  • Your running kevin daemon is notified by a github webhook.
  • It spawns a temporary VM for the job.
  • The repo is cloned and the build/test steps in kevinfile are executed.
  • Progress can be viewed live via website, github, curl or websocket API.
  • Results are instantly reported to github.

Features

  • Makefile-like control file (kevinfile)

    • Directly specify command dependencies of your build
    • Report the step results and timing back to github
  • Live-view of build console output

    • See what the machine builds in real-time
    • Store and download resulting files (e.g. releases)
  • GitHub pull requests

    • A build is triggered for each new and updated pull request
    • When you push to a currently-in-build branch, the previous build is canceled
  • File output

    • Let your project generate files and folders
    • They're saved to the static web folder
    • Use it to generate documentation, releases, ...
  • Container management

    • Jobs are built in temporary throwaway VMs
    • Easily change and update the base images

Components

  • Kevin: Receives triggers and launches the builds
  • Falk: Provides temporary containers to Kevin
  • Chantal: Run inside the container to execute the Job
  • Mandy: Webinterface to view live-results

Setup

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.

TODO

Contact

If you have questions, suggestions, encounter any problem, please join our Matrix or IRC channel and ask!

#sfttech:matrix.org
irc.freenode.net #sfttech

Of course, create issues and pull requests.

License

Released under the GNU Affero General Public License version 3 or later, see COPYING and LICENSE for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].