71 lines
1.4 KiB
ReStructuredText
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
|