bou === Bou (pronounced "bow") is a simple builder or task runner which uses a YAML file for task configuration. "Bou" is `Afrikaans`_ for "build". Installation ------------ Install bou with pip: .. code-block:: $ pip install bou 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: .. code-block:: yaml 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. .. code-block:: yaml 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/superfly/bou .. _Afrikaans: https://en.wikipedia.org/wiki/Afrikaans