Jenkins
Qpid uses the Apache Infrastructure CI service, which is a Jenkins installation. More details are available from the Apache wiki. Builds can run on any operating system instance available, or be locked to a particular type. It may be necessary to restrict some build types to Unix instances only, but using Jenkins will give access to Solaris and Windows Server build environments which will be useful for interoperability testing. If a build tool such as Maven is used, even tighter integration with the build process is available, including better test access and the ability to use the Apache Maven repository for publishing artefacts.
...
Build | Trigger | Description |
---|---|---|
check-in | Tests the Java client with Java broker using the Memory message store. | |
after MMS matrix pass | Tests the Java client with Java broker using BDB message store. | |
every 24h | Tests the Java client with Java broker using Derby message store. | |
check-in | Tests the Java client with the C++ Broker. | |
every 24h | Tests the Java client with Java broker under IBM JDK 1.6. AMQP 0-10 only. | |
every 24h | Tests the Java client with Java broker under Sun JDK 1.7. AMQP 0-10 only. | |
every 24h | Tests the Python client with the Java Broker against AMQP 0-8. 0-9. and 0-10 protocols.. | |
every 24h | Tests the Python client with the C++ Broker. | |
every 24h | 0.16 Release branch test. Tests the Java client with Java broker. AMQP 0-10 only. | |
every 24h | Generates binary release archives and Maven artefacts for the Java Client/Broker. | |
check-in | Performs proton-c build (cmake/make) and executes the Python system test suite | |
check-in | Performs proton-j build (maven) and executes the Python/Java system test suite | |
check-in | Performs proton-c build (cmake/make) and executes the Python/Java system test suite via the Java (JNI Bindings) | |
every 24h | Deploys proton-j snapshots artefacts to https://repository.apache.org/content/repositories/snapshots/
|
A timeout of 60 minutes is set for all jobs.
...
The following commands are used to perform the Cpp build.
Code Block |
---|
cd trunk/qpid/cpp
./bootstrap; ./configure CXXFLAGS="-Wno-unused-result";make clean;make -j4
|
...
The following commands are used to run the Python tests:
Code Block |
---|
cd trunk/qpid/python
ulimit -n 1024 # Workaround QPID-3237 - reduce open filehandles
ant -file qpid-python-test-ant.xml -Dqpid.executable=../java/build/bin/qpid-server -Dpython.test.ignore=-I../java/test-profiles/python_tests/Java010PythonExcludes "-Dpython.test.modules=-mqpid_tests.broker_0_10 -m qmf.console" -Dqpid.port=25672 -Dqpid.executable.args="-p 25672 -m 25000" test
|
...
Currently Andrew, Rajith, Robbie and Keith have access to the build configurations.
Sonar
quid-java-build (the Qpid Broker for Java and the AMQP 0-8..0-10 JMS Client) are set up in Sonar:
https://analysis.apache.org/dashboard/index?id=org.apache.qpid%3Aqpid-java-build