wiki:BuildAutomation

Version 3 (modified by chris, 8 months ago) (diff)

--

Build Automation

We use continuous integration to test new commits before merging them to the master branch. This should ensure that the master branch always passes all of our tests, and is of sufficient quality for a release. We do not plan to make any specific numbered version releases any more, since the master branch is always of release quality.

Every commit is tested using the following three Continuous Integration services:

  • Travis for Linux (Ubuntu LTS) and Mac OS X builds and tests (Autoconf and CMake).
  • AppVeyor for Windows builds and tests, and binary releases and installers (CMake only).
  • Buildbot for Linux (CentOS, Debian, Ubuntu), FreeBSD, SmartOS and Mac OS X builds and tests (Autoconf only).

The current status of the Master branch is:

Travis https://api.travis-ci.org/boxbackup/boxbackup.svg
AppVeyor https://ci.appveyor.com/api/projects/status/ussek6c8mvgxqj2k/branch/master
!CentOS 6 http://builds.boxbackup.org/png
!CentOS 7 http://builds.boxbackup.org/png
Debian Jessie http://builds.boxbackup.org/png

Our Github settings require that each pull request compiles and passes all of our test suite on all of our supported platforms (all of the above except for SmartOS) before being merged to the master branch.

The configuration files for Travis and AppVeyor are stored in our main Git repository, and can be used as guides for how to build the software, particularly on Windows where it's quite complicated.