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 Tue, 22 Mar 2011 18:25:00 GMT
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/2042/9/21/_/styles/combined.css?spaceKey=qpid&amp;forWysiwyg=true"
<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
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~andrew.kennedy">Andrew
                         <h4>Changes (5)</h4>
<div id="page-diffs">
                    <table class="diff" cellpadding="0" cellspacing="0">
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* *qpid-cpp-system-tests* - nightly
<br>* *qpid-python-tests* - nightly, full run of python test kit <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*
*qpid-java-_VERSION_* - nightly, _VERSION_ is current release branch <br>* *qpid-cpp-_VERSION_*
- nightly, _VERSION_ is current release branch <br></td></tr>
            <tr><td class="diff-unchanged" >* *qpid-release-build* - nightly or
weekly, full release <br>* *qpid-interop-tests* - nightly or weekly <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >* Coverage reports <br> <br></td></tr>
            <tr><td class="diff-changed-lines" >The use of these plugins will
be investigated once the basic build and test cycle is satisfactorily configured. <span
class="diff-added-words"style="background-color: #dfd;">Future functionality propsed includes:</span>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">*
Publishing SNAPSHOT versions of Maven artefacts to the Apache repository after a successful
nightly build <br> <br></td></tr>
            <tr><td class="diff-unchanged" >h3. Issues <br> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">Currently,
failover seems to be a problem. <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">Currently,
there seems to be a problem with the exclusion of various tests. For example, {{AcknowledgeAfterFailoverOnMessageTest}}
should not be running under the _default_ test profile. <br></td></tr>
            <tr><td class="diff-unchanged" > <br>* [https://builds.apache.org/hudson/job/Qpid%20Java%20Build/ws/trunk/qpid/java/build/results/systests/TEST-org.apache.qpid.test.unit.ack.AcknowledgeAfterFailoverOnMessageTest.testAutoAck.err]
            <tr><td class="diff-snipped" >...<br></td></tr>
    </div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <p>Qpid uses the Apache Infrastructure CI service, which is a <del>Hudson</del><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-Implementation"></a>Implementation</h2>

<p>The implementation of CI for Qpid is being tracked as <a href="https://issues.apache.org/jira/browse/QPID-3149"
class="external-link" rel="nofollow">QPID-3149</a> and will be completed during the
0.11 development stream.</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 <em>qpid-</em> to allow grouping
together. The proposed build entries are as follows:</p>

	<li><b>qpid-java-build</b> - triggered by check-ins to subversion</li>
	<li><b>qpid-java-system-tests</b> - nightly</li>
	<li><b>qpid-java-network</b> - nightly, from branch with network layer
	<li><b>qpid-cpp-build</b> - triggered by check-ins to subversion</li>
	<li><b>qpid-cpp-system-tests</b> - nightly</li>
	<li><b>qpid-python-tests</b> - nightly, full run of python test kit</li>
	<li><b>qpid-java-<em>VERSION</em></b> - nightly, <em>VERSION</em>
is current release branch</li>
	<li><b>qpid-cpp-<em>VERSION</em></b> - nightly, <em>VERSION</em>
is current release branch</li>
	<li><b>qpid-release-build</b> - nightly or weekly, full release</li>
	<li><b>qpid-interop-tests</b> - nightly or weekly</li>

<p>The initial testing of the CI configuration is being carried out under <a href="https://builds.apache.org/hudson/job/Qpid%20Java%20Build/configure"
class="external-link" rel="nofollow">Qpid Java Build</a> until any issues are sorted

<p>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.</p>

<p>At present, these tests run a single profile, such as <em>default</em>
or <em>java.0.10</em>. As the number of profiles increases, it may be better to
use the Hudson <a href="http://wiki.hudson-ci.org/display/HUDSON/Aboutncysa" class="external-link"
rel="nofollow">matrix project</a> feature to paramaterise the system test build around
the test profile names.</p>

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

	<li>JUnit test reporting</li>
	<li>Javadoc publishing</li>
	<li>Release artifact publishing</li>
	<li>Coverage reports</li>

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

	<li>Publishing SNAPSHOT versions of Maven artefacts to the Apache repository after
a successful nightly build</li>

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

<p>Currently, there seems to be a problem with the exclusion of various tests. For example,
<tt>AcknowledgeAfterFailoverOnMessageTest</tt> should not be running under the
<em>default</em> test profile.</p>

	<li><a href="https://builds.apache.org/hudson/job/Qpid%20Java%20Build/ws/trunk/qpid/java/build/results/systests/TEST-org.apache.qpid.test.unit.ack.AcknowledgeAfterFailoverOnMessageTest.testAutoAck.err"
class="external-link" rel="nofollow">https://builds.apache.org/hudson/job/Qpid%20Java%20Build/ws/trunk/qpid/java/build/results/systests/TEST-org.apache.qpid.test.unit.ack.AcknowledgeAfterFailoverOnMessageTest.testAutoAck.err</a></li>

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

<p>I propose creation of a new mailing list, <em>qpid-build@apache.org</em>
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 <em>qpid-dev</em> list.</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>
and <a href="mailto:robbie@apache.org" class="external-link" rel="nofollow">Robbie</a>
have access to the build configurations.</p>
        <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>
        <a href="https://cwiki.apache.org/confluence/display/qpid/Continuous+Integration">View
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=25204999&revisedVersion=7&originalVersion=6">View
        <a href="https://cwiki.apache.org/confluence/display/qpid/Continuous+Integration?showComments=true&amp;showCommentArea=true#addcomment">Add

Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org

View raw message