A test runner for any language. It uses docker to create a container that will run the tests while keeping the control flow outside. This puts minimal restraints on the image as does not need do anything but run the normal commands for the target language.
cibox uses some travis idioms for convenience but full compatibility is not a goal.
Currently this is only a proof-of-concept and only supports a basic nodejs setup. Feedback is welcome (pull requests doubly so)
virtualenv --python python3.4 env
source env/bin/activate
pip install -r requirements.txt
build from a local directory
python ci.py /path/to/repo/
or from a git repository
python ci.py git+ssh://git@github.com/user/repo.git#branch
There is a few rudimentary tests written for cibox which of course can be run by cibox so that you can test that it can test and also run the tests
python ci.py "file:///$(pwd)"
It's not only using docker it can also be run using docker as long as you expose the docker socket into the container
docker run -ti -v /var/run/docker.sock:/var/run/docker.sock dkeis/cibox https://git@github.com/keis/cibox.git
http://docs.travis-ci.com/user/customizing-the-build/ https://github.com/docker/docker-py
- parse yaml
- start container of specified type
- start executers in turn from the life cycle inside the container (defaults + configured)
- before_install
- install
- before_script
- script
- after_success / afer_failure
- after_script