Checkin process for Sailfin

Options available

There are two ways one can choose to work with the workspace

  • Option A : Checkout the entire workspace and build the entire workspace.
  • Option B : Checkout only the modules that you wish to work on and build them.You would need to use the latest snapshot being generated by the continuous snapshot system. Note that this is available only for Windows and Solaris.

Steps common to both options

  • Checkout the sailfin/bootstrap module using

cvs -d :pserver:<java.net.id>@cvs.java.net:/cvs co sailfin/bootstrap

  • Edit your sailfin/bootstrap/project.properties to configure a proxy.host and proxy.port
  • Setup your environment using maven setup

Option A

This has already been described in the build instructions page here

Option B

Here is a list of steps that need to followed
0. Check if there are any build failures from Hudson A or Hudson B

1. Checkout the latest snapshot.
Goto the sailfin/bootstrap directory.Get the latest snapshot.This command is equivalent of maven bootstrap , the only difference being that this gets the latest snapshot.
Use maven bootstrap-latest

2. Checkout the sailfin modules using
maven checkout-sailfin

3. If you need to work on the glassfish modules also , you need to checkout glassfish modules using
maven checkout -Dmodules=module-names

*4.*Make the changes that you need to on the workspace.

5. Build the workspace with your changes.

6. When you are ready for checkin do the following


6.1 Check if the build is broken or if the QLs do not have a 100% pass rate.
If the build is broken then please wait for the build to become normal again.If not go to Step 6.2. If the tests are broken check to see if someone is fixing them.

6.2 Clean the publish/glassfish directory using
maven clobber

6.3 Update the workspace get the latest snapshot using
maven bootstrap-latest

6.4 Check if the modules that you are working on have been modified by others or not
cd module-root-dir
cvs -nq update
This would let you know if there are any conflicts between what has changed in the repository and your local workspace

6.5 If there are conflicts, then isolate the files that have a conflict and resolve the conflicts.

6.6 If there are no conflicts then update your local workspace using
cvs update -d

6.7 Build the workspace with your changes against this
If your changes are isolated to sailfin
maven build-sailfin

If your changes include changes to GlassFish modules too use
maven build -Dmodules=module-name

6.8 Run the mandated tests for your module. If there are test failures, you need to fix them.

6.9 Check if your workspace is the latest. Use
cd module-root-dir followed by

cvs -nq update

6.10 If there are no updates or conflicts go to step 7 else goto step 6.5 and repeat all steps.


7. Checkin the files that you have modified. Please mention the tests run and reviewer names in the CVS log.

8. Monitor the Hudson to see if the build fails either at compile time or tests that were earlier passing are now failing.

8.1 If there are build failures, please wait for one cycle to see if these failures go away.

8.2 If there are new test failures, you would need to investigate these failures.
In both these cases send an e-mail to dev@sailfin to let people know that you are looking at the failures.

9. In case there are issues that cannot be attributed to any single checkin please send a mail to Naman.Mehta@sun.com