I am currently working on accounts integration in metrics. The integration code lives in
the hawkular-component module in the metrics repo. Now I want to write some integration
tests to verify that things work as expected. I don’t really think that integration/glue
code belongs in the component repo. I want to make sure that wherever it lives I can still
get feed back from CI builds when changes are made. When I make a change to component code
in the metrics repo, the CI build runs and checks for regressions by running tests. There
is a pretty quick feedback loop which is very important. If the glue code is living
elsewhere, I would like for a a CI build to get kicked off at some point after the metrics
CI builds completes successfully so that I can find out if any of my changes to the
component code caused a regression in the glue code. And of course if I make a change
directly in the glue code, I should get the feedback from the check-in CI job. In RHQ we
had a build pipeline with jenkins that handled this for us. Is this possible with travis?
For now I am putting the glue code and tests in the metrics repo so that I can have the CI
feedback loop, but I see this as a short term solution. It may work fine in this instance,
but what about when I want to test some other integration? I will be pulling in more
hawkular dependencies and eventually hit circular dependencies. And the quick feedback
that I get from the component CI build will get a lot slower in the process.
- John