Simple YAML-driven build or task runner
Project description
Bou (pronounced “bow”) is a simple builder or task runner which uses a YAML file for task configuration.
Bou uses the concept of stages and steps. A stage is a sets of steps, and a step is a set of commands to run. A stage can contain many steps, but a step can only belong to a single stage.
“Bou” is Afrikaans for “build”.
Installation
Install bou with pip:
$ pip install bou
Running bou
To run bou, simply call it:
$ bou
To specify a build configuration file, use the -f option:
$ bou -f /path/to/build.yaml
To specify a stage or a step to run, just add it to the command
$ bou build
$ bou test
Task Configuration
When run without any parameters, bou will search for a file named bou.yaml, bou.yml, build.yaml or build.yml
Here’s a basic example:
stages:
- build
- test
steps:
build:
stage: build
script:
- make
test:
stage: test
script:
- make test
Environment Variables
Bou also supports setting environment variables, both at a global level, as well as at a step level. As a convenience, bou sets up an initial environment variable named BASE_DIR which is the directory the build file is in.
Environment variables defined at a global level are set first when a step is run, and then the step-level environment variables are set.
stages:
- build
environment:
- PYTHON=python3
steps:
build:
stage: build
environment:
- SOURCE=$BASE_DIR/src
script:
- $PYTHON $SOURCE/setup.py build
Source Code
The source code to bou is available on my personal Git server: https://git.snyman.info/raoul/bou
Copyright (c) 2021 Raoul Snyman
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file bou-0.0.1.tar.gz
.
File metadata
- Download URL: bou-0.0.1.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4303ab85f32da1311b490135a6df5bbbd4fbb434407e190e2811c62c5a2873e0 |
|
MD5 | e5d535af95f7b7ec0dd66661b0364025 |
|
BLAKE2b-256 | 95c3b661c80599b3a9e22a277a8b5d8097b0114e40261db0e2249e91a8cb59ab |
File details
Details for the file bou-0.0.1-py2.py3-none-any.whl
.
File metadata
- Download URL: bou-0.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 4.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e0ec4d328bdee873520e31c63c66e614e9be38c8ba619e4ae2e4f4ffbbfb6ba |
|
MD5 | e13ef5f0d45ca79671089feaf2dcf4d3 |
|
BLAKE2b-256 | b9a56fd78162dfdcc924b1d4bae18f2b70c8a39b7e888b7b26a8cd27d8222da3 |