Lightweight build server and thing-doer
Installation: cargo install --force thingy
Run: thingy <path/to/workspace/folder/containing thingy.yaml>
Thingy is a command line application and works inside a 'workspace' folder. A thingy workspace is a plain folder with a thingy.yaml
file in it. This file's structure is based on this struct. This file lists build jobs and configurations.
An example of a workspace file: ```yaml jobs: - name: "test" repourl: "git@github.com:n-k/thingy.git" branch: "master" buildscript: "build.sh" # should be an executable file present in the repository pollintervalseconds: 300 auth: # optional PrivateKey: # currently only supported method, besides no auth path: "/path/to/your/ssh/private/key" passphrase: "optional - if key has passphrase"
``
In this example, it is assumed that the repository contains an executable file
build.sh. When a new commit is being built, thingy will pull the code, set CWD to the checkout directory, and run
build.sh` with a few special envronment variables. See next section for list of additional environment variables.
BRANCH
: name of branch being builtCOMMIT_HASH
: current commit hash being built