rusty-ci 0.7.1

A tool to generate buildbot projects from a YAML file
Documentation

rusty-ci

A tool to generate buildbot projects from a YAML file

Documentation

You can find the usage documentation here, and the code documentation here.

Installation

Install rust.

curl https://sh.rustup.rs -sSf | sh

Install rusty-ci

cargo install rusty-ci

Install python3, pip, and venv

sudo apt update
sudo apt upgrade
sudo apt install python3-dev python3-pip python3-venv

Usage

To start, run rusty-ci setup, and carefully read and follow the output's instructions.

Recommendations

I highly recommend using this in a linux-container to avoid poisoning your OS's environment. If you do decide to use a linux-container, be sure to apt update && apt upgrade, and apt install build-essential before doing anything though!

TL;DR

Just paste this stuff into your terminal to install and setup (I'm assuming you're using a Debian based OS).

# Update && Upgrade
apt update -y && apt upgrade -y
apt install -y build-essential python3-dev python3-pip python3-venv

# Install rust
curl https://sh.rustup.rs -sSf | sh # Run the rust installer
source $HOME/.cargo/env             # Add `cargo` to your path
cargo install -f rusty-ci           # Install the latest rusty-ci release


# Write template yaml files
rusty-ci setup template.yaml mail.yaml

# Uncomment to modify your CI's settings to fit your project
# nano template.yaml # Controls how your CI tests your code
# nano mail.yaml     # Defines email update / notification settings

# Install rusty-ci dependencies
rusty-ci install -q   # Build install.sh
chmod +x ./install.sh # Make install.sh executable
./install.sh          # Install!

# Enter venv
. venv/bin/activate   # Enter the venv created by rusty-ci
                      # to avoid poisoning your environment

# Add an authentication token from your VCS (github)
echo "YOUR AUTH TOKEN HERE" > auth.token

# Construct your ci bot
rusty-ci build -q template.yaml --mail mail.yaml

# Spin up the workers!
rusty-ci start template.yaml -q

# All done!