qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Qpid > Continuous Integration
Date Sun, 11 Nov 2012 15:11:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/2042/9/21/_/styles/combined.css?spaceKey=qpid&amp;forWysiwyg=true"
type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://cwiki.apache.org/confluence/display/qpid/Continuous+Integration">Continuous
Integration</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~k-wall">keith
wall</a>
    </h4>
        <br/>
                         <h4>Changes (3)</h4>
                                 
    
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
    
            <tr><td class="diff-unchanged" >Qpid uses the Apache Infrastructure
CI service, which is a [Jenkins|http://jenkins-ci.org/] installation. More [details|http://wiki.apache.org/general/Hudson]
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 Hudson 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. <br> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">h2.
Implementation <br> <br>The implementation of CI for Qpid is being tracked as
[QPID-3149|https://issues.apache.org/jira/browse/QPID-3149]. <br> <br></td></tr>
            <tr><td class="diff-unchanged" >h2. Operation <br> <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >| [Qpid-Java-Java-Test-IBMJDK1.6|https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Java-Java-Test-IBMJDK1.6/]\\
| every 24h | Tests the Java client with Java broker under IBM JDK 1.6. AMQP 0-10 only. |
<br>| [Qpid-Java-Java-Test-JDK1.7|https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Java-Java-Test-JDK1.7/]\\
| every 24h | Tests the Java client with Java broker under Sun JDK 1.7. AMQP 0-10 only. |
<br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">|
[Qpid-Python-Java-Test|https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Python-Java-Test/]\\
| every 24h | Tests the Python client with the Java Broker. | <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">|
[Qpid-Python-Java-Test|https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Python-Java-Test/]\\
| every 24h | Tests the Python client with the Java Broker against AMQP 0-8. 0-9. and 0-10
protocols.. | <br></td></tr>
            <tr><td class="diff-unchanged" >| [Qpid-Python-Cpp-Test|https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Python-Cpp-Test/]\\
| every 24h | Tests the Python client with the C+\+ Broker. | <br>| [Qpid-Java-Java-Test-0.16|https://builds.apache.org//view/M-R/view/Qpid/job/Qpid-Java-Java-Test-0.16/]\\
| every 24h | 0.16 Release branch test. Tests the Java client with Java broker. AMQP 0-10
only. | <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
    
            </table>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <p>Qpid uses the Apache Infrastructure CI service, which is a <a href="http://jenkins-ci.org/"
class="external-link" rel="nofollow">Jenkins</a> installation. More <a href="http://wiki.apache.org/general/Hudson"
class="external-link" rel="nofollow">details</a> 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 Hudson
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.</p>

<h2><a name="ContinuousIntegration-Operation"></a>Operation</h2>

<p>All <a href="https://builds.apache.org/hudson/view/M-R/view/Qpid/" class="external-link"
rel="nofollow">builds</a> are prefixed with Q<em>pid&#45;</em> to
allow grouping together, the <em>Qpid</em> view shows all jobs matching this pattern.</p>

<p>The following builds are configured:</p>
<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> Build </th>
<th class='confluenceTh'> Trigger </th>
<th class='confluenceTh'> Description </th>
</tr>
<tr>
<td class='confluenceTd'> <a href="https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Java-Java-MMS-TestMatrix/"
class="external-link" rel="nofollow">Qpid-Java-Java-MMS-TestMatrix</a> </td>
<td class='confluenceTd'> check-in </td>
<td class='confluenceTd'> Tests the Java client with Java broker using the Memory message
store. <br class="atl-forced-newline" />
Matrix project permutating AMQP 0-10/0-9-1 protocols. </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Java-Java-BDB-TestMatrix/"
class="external-link" rel="nofollow">Qpid-Java-Java-BDB-TestMatrix</a> </td>
<td class='confluenceTd'> after MMS matrix pass </td>
<td class='confluenceTd'> Tests the Java client with Java broker using BDB message store.
<br class="atl-forced-newline" />
Matrix project permutating AMQP 0-10/0-9-1 protocols. </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Java-Java-DBY-TestMatrix/"
class="external-link" rel="nofollow">Qpid-Java-Java-DBY-TestMatrix</a> </td>
<td class='confluenceTd'> every 24h </td>
<td class='confluenceTd'> Tests the Java client with Java broker using Derby message
store. <br class="atl-forced-newline" />
Matrix project permutating AMQP 0-10/0-9-1 protocols. </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Java-Cpp-Test/"
class="external-link" rel="nofollow">Qpid-Java-Cpp-Test</a> </td>
<td class='confluenceTd'> check-in </td>
<td class='confluenceTd'> Tests the Java client with the C+&#43; Broker. </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Java-Java-Test-IBMJDK1.6/"
class="external-link" rel="nofollow">Qpid-Java-Java-Test-IBMJDK1.6</a><br class="atl-forced-newline"
/> </td>
<td class='confluenceTd'> every 24h </td>
<td class='confluenceTd'> Tests the Java client with Java broker under IBM JDK 1.6.
AMQP 0-10 only. </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Java-Java-Test-JDK1.7/"
class="external-link" rel="nofollow">Qpid-Java-Java-Test-JDK1.7</a><br class="atl-forced-newline"
/> </td>
<td class='confluenceTd'> every 24h </td>
<td class='confluenceTd'> Tests the Java client with Java broker under Sun JDK 1.7.
AMQP 0-10 only. </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Python-Java-Test/"
class="external-link" rel="nofollow">Qpid-Python-Java-Test</a><br class="atl-forced-newline"
/> </td>
<td class='confluenceTd'> every 24h </td>
<td class='confluenceTd'> Tests the Python client with the Java Broker against AMQP
0-8. 0-9. and 0-10 protocols.. </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Python-Cpp-Test/"
class="external-link" rel="nofollow">Qpid-Python-Cpp-Test</a><br class="atl-forced-newline"
/> </td>
<td class='confluenceTd'> every 24h </td>
<td class='confluenceTd'> Tests the Python client with the C+&#43; Broker. </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="https://builds.apache.org//view/M-R/view/Qpid/job/Qpid-Java-Java-Test-0.16/"
class="external-link" rel="nofollow">Qpid-Java-Java-Test-0.16</a><br class="atl-forced-newline"
/> </td>
<td class='confluenceTd'> every 24h </td>
<td class='confluenceTd'> 0.16 Release branch test. Tests the Java client with Java
broker. AMQP 0-10 only. </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Java-Artefact-Release/"
class="external-link" rel="nofollow">Qpid-Java-Artefact-Release</a><br class="atl-forced-newline"
/> </td>
<td class='confluenceTd'> every 24h </td>
<td class='confluenceTd'> Generates binary release archives and Maven artefacts for
the Java Client/Broker. </td>
</tr>
</tbody></table>
</div>




<p>A timeout of 60 minutes is set for all jobs.</p>

<h4><a name="ContinuousIntegration-JavaBuildConfiguration"></a>Java Build
Configuration</h4>

<p>The Java builds use the latest 1.6 release of the JDK, and the latest available Ant
version, which are both dependent on the versions available on the Hudson instance running
the job.</p>

<p>Only JUnit test results are reported on currently.</p>

<p>The release job archives the following files:</p>

<ul>
	<li>&#42;<b>/release/</b>.zip</li>
	<li>&#42;<b>/release/</b>.tar.gz</li>
	<li>&#42;<b>/release/maven/</b><b>/</b>.&#42;</li>
</ul>


<h4><a name="ContinuousIntegration-CppBuildConfiguration"></a>Cpp Build
Configuration</h4>

<p>The following commands are used to perform the Cpp build.  They currently include
a workaround to allow the build to completed successfully on Ubuntu 12.04.</p>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
cd trunk/qpid/cpp

# Workaround QPID-3723 using patch from Fraser Adams
wget https:<span class="code-comment">//issues.apache.org/jira/secure/attachment/12509530/fix-explicit-link-problem.patch
</span>cat fix-explicit-link-problem.patch | sed -e 's/qpidtest_PROGRAMS/qpidexectest_PROGRAMS/g'
 | patch -t -p1

./bootstrap; ./configure CXXFLAGS=<span class="code-quote">"-Wno-unused-result"</span>;make
clean;make -j4
</pre>
</div></div>

<p>(As of November 2012, the packages dependencies for Ubuntu 12.04 were: automake,
g+<ins>, libboost, libboost1.46-dev, libboost-filesystem-dev, libboost-program-options-dev,
libicu48, libstdc</ins>+6-4.4-dev, libtool, pkg-config, python2.7-dev , python-dev ,
ruby, sasl2-bin, subversion, uuid-dev).</p>

<h4><a name="ContinuousIntegration-"></a><font color="#000000"><b>Python
Test Configuration</b></font></h4>

<p>The following commands are used to run the Python tests:</p>

<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent">
<pre class="code-java">
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
<span class="code-quote">"-Dpython.test.modules=-mqpid_tests.broker_0_10 -m qmf.console"</span>
-Dqpid.port=25672 -Dqpid.executable.args=<span class="code-quote">"-p 25672 -m 25000"</span>
test
</pre>
</div></div>


<h3><a name="ContinuousIntegration-Future"></a>Future</h3>

<p>Jenkins can be configured to provide many more features with its built-in plugins.
These include:</p>

<ul>
	<li>FIXME/TODO task reporting</li>
	<li>Javadoc publishing</li>
	<li>Coverage reports</li>
</ul>


<p>The use of these plugins will be investigated once the basic build and test cycle
is satisfactorily configured. Future functionality proposed includes:</p>

<ul>
	<li>Integrate CPP Tests</li>
	<li>Switch CPP Build to use cmake</li>
	<li>Integrate Windows build for Java and CPP Brokers</li>
	<li>Publishing SNAPSHOT versions of Maven artefacts to the Apache repository after
a successful nightly build</li>
</ul>


<h3><a name="ContinuousIntegration-Notifications"></a>Notifications</h3>

<p>All jobs are configured to&nbsp;send email notifications@qpid.apache.org&nbsp;when
a build fails, becomes unstable or returns to stable.</p>

<p>Currently <a href="mailto:grkvlt@apache.org" class="external-link" rel="nofollow">Andrew</a>,
<a href="mailto:rajith@apache.org" class="external-link" rel="nofollow">Rajith</a>,&nbsp;<a
href="mailto:robbie@apache.org" class="external-link" rel="nofollow">Robbie</a>&nbsp;and
<a href="mailto:kwall@apache.org" class="external-link" rel="nofollow">Keith</a>
have access to the build configurations.</p>
    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
        </div>
        <a href="https://cwiki.apache.org/confluence/display/qpid/Continuous+Integration">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=25204999&revisedVersion=32&originalVersion=31">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/qpid/Continuous+Integration?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


Mime
View raw message