Skip to content
This repository has been archived by the owner on Nov 27, 2024. It is now read-only.

[guide] Buildbot

Florian Rathgeber edited this page Jan 2, 2015 · 4 revisions

MAPDES Buildbot status page

Buildbot queues

PyOP2

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".

Firedrake

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".

COFFEE

We have one COFFEE Buildbot queue: coffee

FFC, UFL, FIAT

There are further queues for nightly builds of the FEniCS components we depend on:

Rules to strive for

  • 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

Build slaves

The build slave running all the MAPDES build queues is buildbot-1.ese.ic.ac.uk.

Updating PETSc

  1. If you haven't yet, clone petsc and petsc4py.
  2. Load the PETSc module: module load petsc-gcc4/plex
  3. From within the petsc directory, run build_petsc
  4. From within the petsc4py directory, run build_petsc4py

Using the build environment interactively

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

Rebooting buildbot-1

  1. Start the buildslave: become buildbot, cd to /var/lib/buildbot/slaves/mapdes_dev and run buildslave start
  2. Make sure VirtualBox is running: as a user with sudo, run sudo service vboxdrv setup
  3. Make sure the Nvidia driver is set up properly: run nvidia-smi