HLA Java Release procedures
0) Before you release software, make sure you have a Test Plan and have followed this development cycle:
- Gather Requirements
- Requirements Document
- Review Reqs w HLA
- GUI Mockup Design
- GUI Review w HLA
- GUI Review w Users
- Review Reqs w Users
- SW Conceptual Design
- Review Design w HLA Team
- Write GUI
- Write Controller
- Write Model
- Write Test Plan
- Unit Test
- Commissioning
- Training and Help
- Code ReviewAll
Software Release Procedures
Run eclipse as softegr@lcls-builder on your workspace. After completing the code reviews and implementing the changes, check in the code to CVS from Eclipse.
Update RELEASE_NOTES with latest version tag (create if first time)
Ensure the application has an ANT script that sets the right classpath and builds the application with all the dependencies.(example: See build.xml in any of the High Level Apps)
Ensure the application has a launching script (example: score.bash)
After committing all the changes to CVS, tag the release to the new version published in the RELEASE_NOTES using eclipse.
Check out newly created tagged version in "$PHYSICS_TOP/release" area
softegr@lcls-builder release > cvs co -r <tagName> -d <tagName> <moduleName>
Example:
softegr@lcls-builder release > cvs co -r score-R0-2-30 -d score-R0-2-30 score
Go to the new folder that was created.
Example: cd score-R0-2-30
Run the ANT script.
Example: ant
Make sure there are no build errors and a new "jar" folder is created.
Verify the <app>.jar is created inside the jar folder.
For example, score-R0-2-30/jar contains score.jar.
Technical and Social Release procedures
Place your tagged release into production following these steps.
Schedule testing time by submitting a Software Mini-Test Plan.
The day you are scheduled to test a new release, make sure you follow instructions to announce your release ahead of time via controls-software-release email.
The day you are scheduled to test you can modify $PHYSICS_TOP symlinks in order to place your tagged release into production:
Go to $PHYSICS_TOP and insert or modify symlink to point to release/tagName
ln -s release/tagName <Module Name>
example:
...
[]$ ln -s release/score-R0-2-30 score
cd to <Module Name> and run the tester launch script.
...
[]$ cd score-R0-2-30
$ ./score.bash
Verify that it works!