Build Notes

Ken's initial questions (and some answers):

  1. How are the current Hudson jobs used?
    • glassfish-v3-devbuild is available to check that a checkin does not break the build
      • Just builds the v3 branch.
      • Runs whenever the SVN repo generates a notification email, so this would seem to run after the checkin. Is that good enough?
      • At one point Kohsuke was investigating doing checkins to a developer branch, running a verification build (like this job), and then merging the developer branch into the trunk (is the merge something that works well enough for svn? What tools are used in svn for this?) This branch integration is simpler to deal with in Mercurial, so I'd prefer to delay this until we get to Mercurial unless we find that it is necessary to avoid too much build breakage. It is not clear to me whether that is worth the extra effort. Part of the process of checkins is to do a build and run tests in any case, so do we need a technical solution here, or is it just a question of the appropriate process?
    • glassfishv3-javaee-api is used to generate OSBi bundles from JavaEE API jar files
      • I THINK this is supposed to repackage a bunch of JavaEE APIs into OSGi bundles, but I'm not entirely sure how it works. From looking at the POM files, I think this is dependent on the jar files for the APIs that are stored in the maven repository. Then I guess maven install knows how to create OSGi bundles from the jar files?
      • This stuff does not change often, so we are probably OK for now. The latest failure was caused by not finding the deployment-api jar file (javax.enterprise.deployment:deployment-api:jar:1.2.1-SNAPSHOT). Among others, glassfish-v3 is a downstream build for this job
    • glassfish-v3 is the main build which delivers artifacts
      • Note that there is a severe jar bug that Kohsuke is investigating
      • OK. This takes around 20 minutes to run, while glassfish-v3-devbuild takes around 5 minutes. I can't tell why it takes longer from the configuration. Clearly this job is configured to promote the build if the quicklook tests pass.
  2. Are there old Hudson jobs that are no longer needed?
    • Not yet known
  3. What's missing from the point of view of a complete production facility for releasing the product (this is probably a question for Terena as well).
  4. What kind of Hudson failures are occuring?
    • This still needs further investigation
  5. What problems have GFv3 engineers encountered in building GFv3 that lead to loss of productivity?
    • Example: LLoyd's problem with not running mvn clean before svn update
    • Many of the problems are local environment issues.
    • Which problems are process issues, which need technical solutions?
  6. We need a source jar for every OSGi bundle in the system.

TBD:

  1. (Bhakti) Document GFv3 related Hudson jobs (or possibly get this from Kohsuke)
  2. (Ken) Arrange a time for Kohsuke to teach the team about what he's done so far for GFv3 (as per Abhijit's request)