Sivart
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.
Release files for sivart 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sivart-0.2.1.tar.gz | 4.7 kB | Details |
Release files / sivart-0.2.1.tar.gz
| Download URL | sivart-0.2.1.tar.gz |
|---|---|
| Size | 4.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3a9d9ae61b2c1298d84dbfa8caf89c9dc640651985c66f2ae920c9607d4e0d44
|
|
BLAKE2b-256 checksum How to use checksums |
ea27f0d9a936416f047dff7e7a20cdd2d8cf304aff32673d79ad1a4e0e354447
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |