bou/README.rst

71 lines
1.4 KiB
ReStructuredText

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