Continuous Integration

Qpid uses the Apache Infrastructure CI service, which is a HudsonJenkins installation. See here for more details.

Implementation

The implementation of CI for Qpid is being tracked as QPID-3149 and will be completed during the 0.11 development stream.

Operation

All builds are prefixed with either qpid- to allow grouping together. The proposed build entries are as follows:

The initial testing of the CI configuration is being carried out under Qpid Java Build until any issues are sorted out.

Note that it is possible to add builds from branches, to give increased visibility to proposed changes, and greater confidence in their reliability due to increased testing.

At present, these tests run a single profile, such as default or java.0.10. As the number of profiles increases, it may be better to use the Hudson matrix project feature to paramaterise the system test build around the test profile names.

Hudson can be configured to provide many more features with its built-in plugins. These include:

The use of these plugins will be investigated once the basic build and test cycle is satisfactorily configured.

Issues

Currently, failover seems to be a problem.

Monitoring

I propose creation of a new mailing list, qpid-build@apache.org which would receive a copy of all output from every CI build. Additionally, the results of failing builds should be mailed to committers that checked in the breaking changes, and a nightly (or weekly) summary from the release and/or interop test builds should be sent to the qpid-dev list.

Currently Andrew, Rajith and Robbie have access to the build configurations.