ci-runners

module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2021 License: MPL-2.0-no-copyleft-exception

README

Runners for tiny CI: Execute runs in a variety of ways.

A runner process is simply something that listens to the tinyCI queuesvc, allowing it to get the next available job, and report the status of that job.

That's pretty much it; this simplicity allows us to do literally anything between the time that the run has begun (queue shift) and the time the status of the finished run has been reported.

Our current runner implementations are:

Overlay Runner (overlay-runner)

This is a bare-bones runner that utilizes docker and overlayfs to achieve a performant and secure way to run isolated unit tests.

Git clones are kept permanently on the system (until a cache threshold is reached; then they are wiped). Each CI run incorporates an overlayfs-powered "air gap" between the git repository and the container running the run. The container can write all it wants to the git repository's directory, but the overlayfs will capture that. At the end of the run, the overlayfs is removed from disk, returning the repository to a pristine state.

Framework

We have a runner framework to make it easy to build runners; please see our GoDoc for more information on how to use it!

Authors

License

Mozilla Public License 2.0: https://www.mozilla.org/en-US/MPL/2.0/

Directories

Path Synopsis
cmd
fw
Package fw is composed of a framework for designing tinyCI runner agents.
Package fw is composed of a framework for designing tinyCI runner agents.
config
Package config presents a standard framework-compatible configuration for runners.
Package config presents a standard framework-compatible configuration for runners.
git
Package git implements functionality to work with git and GitHub.
Package git implements functionality to work with git and GitHub.
overlay
Package overlay implements union filesystems via overlayfs for the purposes of keep your source tree clean.
Package overlay implements union filesystems via overlayfs for the purposes of keep your source tree clean.
utils
Package utils contains useful one-off tools for implementing runners.
Package utils contains useful one-off tools for implementing runners.
runners

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL