-
Notifications
You must be signed in to change notification settings - Fork 35
[guide] Buildbot
Florian Rathgeber edited this page Jan 2, 2015
·
4 revisions
We have four main PyOP2 Buildbot queues: pyop2-master and pyop2-testing.
- pyop2-master builds the master branch nightly and on every merge.
- pyop2-testing is built on every push to any branch but master and gh-pages. Can also be scheduled manually: enter the name of your branch in "Branch to build", and press "Force Build".
- pyop2-tox builds with different Python interpreters using tox on every push to any branch. Can also be scheduled manually: enter the name of your branch in "Branch to build", and press "Force Build".
- pyop2-vagrant builds in a VM using vagrant on every push to any branch. Can also be scheduled manually: enter the name of your branch in "Branch to build", and press "Force Build".
We have two main Firedrake Buildbot queues: firedrake-master and firedrake-testing.
- firedrake-master builds the master branch nightly and on every merge.
- firedrake-testing is built on every push to any branch but master and gh-pages. Can also be scheduled manually: enter the name of your branch in "Branch to build", and press "Force Build".
We have one COFFEE Buildbot queue: coffee
There are further queues for nightly builds of the FEniCS components we depend on:
- ffc builds the master branch of the MAPDES FFC fork nightly and on every merge.
- ffc-testing builds any branch but master of the MAPDES FFC fork on every push.
- fiat builds the master branch of the MAPDES FIAT fork nightly and on every merge.
- fiat-testing builds any branch but master of the MAPDES FIAT fork on every push.
- ufl builds the master branch of the MAPDES UFL fork nightly and on every merge.
- ufl-testing builds any branch but master of the MAPDES UFL fork on every push. The side effect is that we detect whenever a change in one of these dependencies breaks our master branch.
- The master builders should ALWAYS BE GREEN - TESTS SHOULD ALWAYS PASS.
- If a master builder is not green, the person who made the change that turned it from green to red should fix it.
- Pull requests should only be merged if the revision of the branch to be merged has passed
The build slave running all the MAPDES build queues is buildbot-1.ese.ic.ac.uk
.
- If you haven't yet, clone petsc and petsc4py.
- Load the PETSc module:
module load petsc-gcc4/plex
- From within the
petsc
directory, runbuild_petsc
- From within the
petsc4py
directory, runbuild_petsc4py
For each builder, there is an environment module loading the build environment to be used interactively:
- ffc/master
- ffc/testing
- fiat/master
- fiat/testing
- firedrake-fluids
- firedrake/master
- firedrake/testing
- pyop2/master
- pyop2/testing
- ufl/master
- ufl/testing
- Start the buildslave: become
buildbot
,cd
to/var/lib/buildbot/slaves/mapdes_dev
and runbuildslave start
- Make sure VirtualBox is running: as a user with
sudo
, runsudo service vboxdrv setup
- Make sure the Nvidia driver is set up properly: run
nvidia-smi