Continuous Build

From Octave
Jump to navigation Jump to search

We use both Buildbot and Hydra to perform continuous building and testing of Octave.

Buildbot

We are using Buildbot to build the current development version of Octave on multiple systems in a number of different configurations. Current status of the builds my be found at buildbot.octave.org:8010/waterfall.

Systems and Configurations

The following systems and configurations are currently covered:

Builder ID Component Hg Version Build System Host System Compiler Build Options Frequency
clang-3.7-debian Octave default Debian Testing Debian Clang 3.7 Disable GraphicsMagick Any Change
clang-3.8-debian Octave default Debian Testing Debian Clang 3.8 Disable GraphicsMagick Any Change
clang-3.9-debian Octave default Debian Testing Debian Clang 3.9 Any Change
gcc-4.9-debian Octave default Debian Testing Debian GCC 4.9 Disable GraphicsMagick Any Change
gcc-5-debian Octave default Debian Testing Debian GCC 5 Any Change
gcc-6-debian Octave default Debian Testing Debian GCC 6 Any Change
gcc-6-lto-debian Octave default Debian Testing Debian GCC 6 Enable link time optimization Any Change
no-extras-debian Octave default Debian Testing Debian GCC (OS default version) Disable all optional dependencies Any Change
w32-on-debian mxe-octave default Debian Testing Windows GCC (mxe-octave default) Windows 32 Daily
w64-32-on-debian mxe-octave default Debian Testing Windows GCC (mxe-octave default) Windows 64 Daily
w64-64-on-debian mxe-octave default Debian Testing Windows GCC (mxe-octave default) Windows 64, 64-bit indexing Daily

If you are interested in maintaining a buildbot slave for a different configuration, please contact the Octave Maintainers mailing list.

Hydra

There is a build server continuously building the latest tip of the development branch of Octave. The build server is running Hydra, which is based on the Nix functional package management system. This is the official continuous build system of the GNU Project. The Hydra build of Octave is currently maintained by User:Mtmiller.

Octave Job Overview

The octave-default jobset overview page is the main entry point to the Hydra build of Octave. It shows the status of the most recent builds ("evaluations" in Hydra terminology).

Latest Build Logs

The full build logs for the latest builds are available at the following links, for quick reference:

Snapshot Source Tarball

A nice product of the Hydra continuous build of Octave is that there is always a source snapshot available for download. This source snapshot is always built from the current tip of the development branch in whatever state it is in. Therefore, it may not compile or run properly and should definitely not be used for anything other than evaluation. This can be useful to evaluate the current state of Octave's development branch without needing to clone the Mercurial repository.

Coverage Report

Another product of the Hydra continuous build is the code coverage report. The latest coverage report is always built from the current tip of the development branch. This report gives an analysis of the code coverage of the current Octave test suite. This can be used to find unexercised code paths and help improve the coverage of Octave's test suite (see Projects#Tests).