[Hawkular-dev] When to remove snapshots maven repo from parent? --> Integration tests

Jay Shaughnessy jshaughn at redhat.com
Mon Jun 1 18:06:20 EDT 2015



On 6/1/2015 2:35 PM, Thomas Heute wrote:
> This is a different debate than SNAPSHOT repo in/out the parent, but
> this is IMO important:
>
> On 06/01/2015 03:46 PM, Lucas Ponce wrote:
>> I am not sure, but this could trigger again about where to place integration tests for a components.
>>
>> At the moment, we have a balance for limited-integration tests for a component:
>>
>> - In alerts we have an optional profile, that downloads hawkular-dist, assemble component-snapshot to test, and run limited REST tests.
> As I said, this is incorrect, you shouldn't create such dependency
> circles even for tests.
>
> And as a matter of fact Alerts has tagged releases with dependencies on
> a SNAPSHOT
> https://github.com/hawkular/hawkular-alerts/blob/0.0.4/pom.xml
> The release plugin should have complained.

We're aware that this isn't optimal.  The release plugin does not fail 
because the dependency is in a profile that is only active for rest api 
integration tests.  We could not depend on a versioned release of 
hawkular dist because it doesn't exist, in fact it depends on a 
versioned release of hawkular-alerts so the circular aspect made it 
impossible.   These rest api integration tests are actually 
component-level i-tests imo, and the integration aspect is only that of 
a running container for alert's rest API, and Hawkular dist suffices as 
it provides the Cassandra and Hawkular Accounts hooks.  I do agree that 
higher-level integration tests, hawkular-level, should not live in the 
component's repo.  As it stands, we don't have that level of itest.


> The only certitude is that *at the point of the release* the tests
> passed, Hawkular may still change and by the time Hawkular is released
> with that version of Alerts it may fail the same integration tests -> Bad

Not really, because in this case it doesn't so much depend on hawkular 
but rather the components already in dist.  But I do see your point in 
general.


>
>> - If we move these tests to hawkular, then we need to release, before to test, what I don't see it's a benefit.
> This is the minimum you can do to have a proper release:
>    1 - release alerts, make sure they pass the unit tests
>    2 - upgrade hawkular to use that version of alerts
>    3 - release hawkular with the integration tests, if they fail at this
> point you may need to re-release alerts but at least you know for sure
> that the integration tests passed when you did the release.

It's still feasible to move alerts' current rest api tests to hawkular,  
but even if this is required, the timing was not good to make such a change.

>
> There are several improvements that can be made that are more or less
> costly to avoid "wrong" release of components:
>
>    - Before you tag alerts, I would recommend that you test Hawkular with
> a locally built SNAPSHOT of Alerts, that reduce the risk of a re-release
> of alerts

Sure.  As it stands the integration of versioned alerts into hawkular 
went pretty smoothly.  The only respin was due to the accounts packaging 
issues that surfaced, which was a more general issue.


>    - Do release:perform of the components and don't close on Nexus,
> upgrade hawkular to use the new tagged version (and add the staging repo
> in your local settings.xml) test, release Hawkular and close/publish all
> the Nexus repo "at once". (I think you can even do the release:prepare
> and not push the tag so that you can freely retag until the tests pass,
> and when you push the binaries you can also push the sources tags)
>
>
>
>> So, I would not remove yet the snapshot, until we can discuss this from all the angles after the MVP.
>>
>> My 2 cents.
>>
>> Thx,
>> Lucas
>>
>>
>>
>> ----- Original Message -----
>>> From: "Peter Palaga" <ppalaga at redhat.com>
>>> To: "Discussions around Hawkular development" <hawkular-dev at lists.jboss.org>
>>> Sent: Monday, June 1, 2015 3:26:20 PM
>>> Subject: [Hawkular-dev] When to remove snapshots maven repo from parent?
>>>
>>> Hi *,
>>>
>>> I see it as a good occasion to remove the JBoss snapshots repository [1]
>>> from hawkular-parent, once all version.org.hawkular.* props [2] become
>>> "-SNAPSHOT"-less in hawkular master.
>>>
>>> Is there anybody against this?
>>>
>>> Thanks,
>>>
>>> Peter
>>>
>>> [1]
>>> https://github.com/hawkular/hawkular-parent-pom/blob/b4daf82bd3b9d98c34fcd871cef3a0783b8c29de/pom.xml#L773-L783
>>>
>>> [2] https://github.com/hawkular/hawkular/blob/master/pom.xml#L87-L96
>>> _______________________________________________
>>> hawkular-dev mailing list
>>> hawkular-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>>>
>> _______________________________________________
>> hawkular-dev mailing list
>> hawkular-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>>
> _______________________________________________
> hawkular-dev mailing list
> hawkular-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>
>




More information about the hawkular-dev mailing list