Daily Build Procedure

Schedule: The daily build for FBG occurs Sun at 10pm and Tues and Thurs at 7pm.

Run the Build script

  1. Use a telnet client (such as QVT-Term or SSH) and login to falcon.
  2. Run the daily build script
    Type:   ~team-jd0/binfbg/dailyBuild
  3. Sit back and watch the script run. It takes about a minute. It will display "build script completed." when finished.

Determine Build Status

  1. Using a web browser, view the Daily Build Report Index page. Scroll to the very bottom of the page to see the most recent build. Verify that the "When built" field shows the time from just a minute ago when you ran the build.
  2. Click on the "Build Output" link and carefully review the listing, looking for any warnings or error messages.

Update the Build Page

  1. Edit the Daily Build Report Index page. (Probably easiest to edit it on Falcon).
  2. Go to the bottom of the file and replace the two question marks with the appropriate status: Complete, Warnings, or Broken.
  3. If it's broken, delete the link to the Jar file.
  4. Save the changes and make sure the team home page links to it properly. Verify the page displays properly in the browser.
  5. If the build status is Broken, do the Broken Build Procedure.

Broken Build Procedure

For each error in the build output, identify the module that has the error, go to the Integration Plan and find the owner of that module. 
From the team contact list, obtain their telephone number.
Phone them and inform them that their module broke the build and they should consult the build report for details. 
If you can't reach them in person leave a message and also send an e-mail.
Assuming the build was run at 7pm as scheduled, ask them to call you back by 9pm with the status.
Append the letter 'A' to the BuildID in the Build Report.  Put any relevant remarks in place of the Download link.
IF the developer calls by 9pm THEN
    IF the status is fixed THEN rerun the daily build procedure. 
    IF the status is will fix time before 8am the next day THEN write yourself a note to rerun the build at 8am the next morning.
    IF the status is can't fix before 8am the next day THEN revert the build to last successful version and update build report.
IF the developer doesn't call by 9pm THEN
    Call team manager and inform her that the build is broken and you've been unable to contact developer.
    Team manager continues efforts to contact developer.
IF developer submits fix to cvs and contacts you by 8am the next day THEN
    Rerun the daily build procedure at 8am.  Append the letter 'B' to this buildID.
IF no developer contact (and no fix) by 8am the next day THEN
    Revert the build to last successful version and update build report.

Assuming the build was run at 10pm on Sunday as scheduled, go to the Integration Plan and find the owner of the module.
Email the owner of the broken module telling them they broke the build and to consult the build report for details.
Append the letter 'A' to the Build ID in the Build Report.  Put any relevant remarks in place of the Download link.
IF the developer emails back before 10:00am THEN
   IF the status is fixed and the module is updated to cvs, THEN rerun the daily build procedure.
   IF the status is will fix, THEN revert back to the previous build.
IF the developer does not email back before 10am, THEN in class tell them that they broke the build and to consult the daily build report to fix it.
   Revert back to the previous build.
IF developer does not attend class that day, THEN tell the team manager that you have been unable to contact the developer.
   Revert back to the previous build.

    Send e-mail note to entire team informing everyone that the offending developer broke the build and didn't get it fixed.  Inform them that the build is reverted. Announce that the offending developer is now obligated to bring to the next lab meeting either a) one package of Mint Milano Pepperidge Farm cookies or b) one package of Famous Amos Chocolate Chip cookies. 


Document History
Date
Author
Description
3/28/06
John
Major revision for automated Index Page update.
See the previous version here.
4/18/04
Sean
Changed build times and Broken Build procedure
4/9/04
Sean
Took over document
4/6/04
J. Dalbey Added buildID labelling
4/4/04
J. Dalbey
Initial Version