bou/README.rst

1.4 KiB

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:

$ 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:

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/superfly/bou