Introduction
Projects using based on common_build.xml are provided with Cobertura code coverage and JUnit test targets. Bamboo is now executing these targets and producing test and coverage reports.
This may raise some general questions, such as:
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
I will attempt to answer these here...
Common questions regarding Bamboo and unit tests
What do I do about my failed Bamboo builds?
When a unit test fails during a continuous integration build, Bamboo will mark the build as failed. For example, the platform engine project is shown (see image below) to have failed because 1 test out of 27 is broken. Tests are run in our continuous environment in order to provide visibility to the engineering team so we can react to unstable builds and bring them back to stability.
How do I see my test results in Bamboo?
If you see your project is failing because of tests, you can see the test results in Bamboo by clicking on the link to the failed build, in this case it is 20-ENG-107. You will then see an overview of the build. Your test report is visible in the Test section (see image below). So in this example you can see the test that failed is called Audit sql entryin AuditSQLEntryTest.
How do I get my unit tests running in Bamboo?
If your project is building on Bamboo but is not reporting on unit tests, this could be because:
- Your Ant file does not include a test and/or coverage target
...
- If these targets don't exist, Bamboo cannot report anything. Once you have added these targets (or ported your project to the common_build.xml) then talk with the build team about getting your reports working.
...
- Get with the build team or make the change yourself (see Enrico for Bamboo permissions)
...
Pentaho now hosts a Hudson instance for continuous integration feedback to the community. The url is http://ci.pentaho.com.
The platform builds all types of code projects including actual product builds (generating zip & tar.gz files) as well as libraries (generating jar files).
Here's what the CI environment provides:
- real-time feedback/status of projects
- code coverage reports
- unit test reports
- automatic publishing of artifacts to the Pentaho public Maven repository (login with guest/guest)
- archiving of build artifacts (jars, zips, tar.gzs, etc)
How do I find what I'm looking for?
Use the tabs to narrow down your search by project group, then find the name of the Hudson job based on these naming rules:
If the project you are looking for produces a library or reusable component...
In other words if it is not a product in itself, the Hudson job will be named the same as the SVN basename minus any leading "pentaho". For example, if you are looking for Pentaho's commons connections project build, you would look for pentaho-connections
, which is the SVN folder for this project, trimming off the pentaho prefix to wind up with connections
.
If the project you are looking for produces an actual product...
The Hudson job will be named the abbreviated official product name in all caps. For example, if you need a build of the BI Server, look for BI-SERVER. If you looking for Report Designer, check out PRD.