Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Layout of the continuous integration infrastructure.
A first set of tests is in
appveyor.yml of casadi/casadi repo.
These tests build, but do not publish stuff. The tests can however generate two types of commits: a code-generation commit and a documentation-generation commit.
A second set of tests is in casadi/binaries repo; each branch of that repo represents a logically grouped set of builds with the purpose of producing, uploading and testing binaries.
The glue that binds these together is twofold:
- 'quick' build of casadi/casadi triggers a commit to the 'run' branch of casadi/binaries
- 'run' branch build commits to all other active branches in casadi/binaries
Both sets of tests depend on helper functionality from casadi/testbot and encrypted dependency builds from jgillis/restricted. The builds in jgillis/restricted, in turn, get built by the recipes in casadi/testbot.
Release can be triggered manually by pushing to the
release branch of casadi/binaries (see e.g. release-2.4.0-rc3). Triggering will install all downloadable files created by casadi/binaries in the correct download location. This means all the files should be there i.e. the binaries built successfully.
The triggering commit should have two changes: the version number in .travis.yml and the casadi reference in the submodule.
Some subsequent actions are manual still:
- merge to master
- merge release to develop (usually only for x.y.0 releases)
- bump develop to x.y.0+ AND tag that commit as "x.y.0+" (only for x.y.0 releases)
- set default downloads on sourceforge
How to run travis locally?
sudo apt-get install docker.io
sudo usermod -aG docker myname
git clone https://github.com/DanielG/travis-run
- export PATH=$PATH:~/travis-run
- got to the casadi source directory