A poor man's build farm
Project description
A poor man’s build farm.
What?
A tool to test installation and test steps of your program on various systems.
How?
The architectures, install steps and test scripts are described in a configuration file, which is processed by sivart to run various vagrant boxes with the described configuration, then the tests.
Install
Have a look to .sivart.yml for the detailed steps, but basically you need a working virtualbox and:
pip install sivart
The run:
python -m sivart --help
Format
Sivart’s input is a YAML file that lists configurations, like this:
my_config: box: box_url_or_id install: - step0 - step1 script: - step0 - step1
The box field is a valid vagrant box idetnifier, the install field contains commands run as root, and the script field contains commands run as vagrant user.
As your number of config grow, you can use facets to store common config elements:
.shared: install: - step0 - step1 script: - step0 - step1 .config0: using: - .shared box: box0 .config1: using: - .shared box: box1
which makes it easy to perform the same steps on a 32 and 64 bits machine, for instance.
Finally, there is a env configuration to test various parameters, e.g. various compilers:
.env0: env: - CC=gcc CXX=g++ - CC=clang CXX=clang++ .env1: env: - CFLAGS=-O1 - CFLAGS=-O2 - CFLAGS=-O3 run: using: - env0 - env1 script: - $CC $CFLAGS hello.c
this runs $CC $CFLAGS hello.c for the Cartesian product of the combination of .env0 and .env1.
Additionnaly, you can use external variables prefixed by a %, as in:
.cflags: env: - CC=gcc CXX=g++ CXXFLAGS=%CXXFLAGS CFLAGS=%CFLAGS - CC=clang CXX=clang++ CXXFLAGS=%CXXFLAGS CFLAGS=%CFLAGS
And set this variable from the command line!
Have a look to examples/* for more… examples!
Why?
Because I needed an automated way to test the Pythran compiler on various architecture (32/64 bits), various OS and various distribution.
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
File details
Details for the file sivart-0.2.1.tar.gz
.
File metadata
- Download URL: sivart-0.2.1.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a9d9ae61b2c1298d84dbfa8caf89c9dc640651985c66f2ae920c9607d4e0d44 |
|
MD5 | 4f91f2bfb4e25927c155ba324d8f7369 |
|
BLAKE2b-256 | ea27f0d9a936416f047dff7e7a20cdd2d8cf304aff32673d79ad1a4e0e354447 |