GMAT 2014a Release Process
This page is used to track the process and progress of the R2014a release.
Table of contents
Release Process Work Before next Cycle for R2015a
NTR needs to go in months (3-6) earlier
Define major roles and assign them to individualsbefore next release
Proposed roles are shown below.
Ensure those in major roles are reachable and preferably in the office during critical stages like creating and testing RCs.
Consider merging to production and test this before next release process
Automate installer packaging
Consider sanity check from mission users' scripts
Feature Freeze/QA Complete/Beta Test must happen earlier (month before code/App Freeze)
We need to baseline the test results well before release process starts. Probably at Feature Freeze\QA Freeze
Consider allowing GATS to produce multiple reports from one test run
Consider feature freeze month before
QA Complete needs to happen much earlier (month?) probably with Feature Freeze
Proposed Roles For Next Release for R2015a
Release Manager (RM): "owns" release, initiates process, creates tracking page, sends daily status updates, tracks issues to completion, makes sure everyone gets their stuff done, brings decisions to CCB/team, maintains tracking page, collects lessons learned, documents process improvements for next release
Build Manager (BM): controls build system, creates RCs, sends RC availability announcements
Test Managers (TM): control GUI/script testing for each RC
Target Date: May 14, 2014
Tasks
All dates are referenced to 12:00 noon EDT.
For example, a deadline of March 15 should be interpreted as March 15, 12:00 noon EDT.
Early Tasks
These are long-lead early tasks that can be completed before the detailed release cycle.
Use "(/)" for the checkmark () and "(x)" for the cross ()
Task | Who | Status | Internal Status | Notes |
|---|---|---|---|---|
Review Previous Build Release R2013b Process Notes | All |
| ||
Get updated legal statement/license | SPH | Needed by Code Freeze. | ||
Update sample scripts | SPH | Needed by App Freeze.
| ||
Write draft Release Notes | JJKP SPH | Needed by App Freeze. | ||
Update standard descriptive text | SPH | Needed by App Freeze. Will be used in User Guide, websites, release announcement. | ||
Update version number on User Guide cover page | JJKP | Needed by App Freeze. Contact Katy Gammage or Mary Hrybyk-Keith. Next time: integrate sejda-console to do this automatically. | ||
Update info on public-facing websites | JJKP | N/A | Needed by Release Day. See the list of sites. Update this list as well, if necessary. Updated major sites before announcement. Minor ones can be updated a bit later. | |
Update release announcement contacts | SPH | N/A | N/A | Needed by Release Day. Located here. |
Put in order for additional icons | SPH | N/A | N/A | (if necessary) Needed by Visual Freeze. |
For QA Complete (April 21)
QA complete means that all known bugs are being tracked, all bug fixes are verified and documented, and the release process can begin.
Use "(/)" for the checkmark () and "(x)" for the cross ()
Task | Who | Status | Notes |
|---|---|---|---|
Verify that all known bugs are checked into JIRA | (All) |
| RQ: I'm done with this |
Complete all JIRA verifications | (All) | RQ: | RQ: I'm done with this |
Complete QA wrap-up tasks | DSC, SPH, JJKP, RQ | RQ: | RQ: I'm done with this |
Address all JIRA tickets awaiting feedback | (All) | RQ: | RQ: I'm done with this |
For Visual Freeze (April 30)
Visual Freeze finalizes all graphical changes to the software, so that screenshots, documentation, and TestComplete can be updated.
Use "(/)" for the checkmark () and "(x)" for the cross ()
Task | Who | Status | Internal Status | Notes |
|---|---|---|---|---|
Update About panel | LOJ |
| ||
Update splash screen | TGG |
| ||
Update icons | TGG | If there are any updates, additions, deletions. Including GMATIcon for Welcome Page | ||
Update | JJKP |
No new plugins added. Commented out internal plugins. | ||
Switch to release configuration in script test system | JJKP |
4/30: switched to R2014aInternal 7/17: tested public release using R2014aPublic | ||
Complete visual updates | (All) | 4/30: JJKP: still waiting on final updates to contributors list from KARI 5/2: TGG: final update committed |
For Code Freeze (April 30)
Code Freeze is a freeze on the software itself before final testing.
Use "(/)" for the checkmark () and "(x)" for the cross ()
Task | Who | Status | Internal Status | Notes |
|---|---|---|---|---|
Update EOP files | WCS | Update | ||
Update files w/ updated legal statement | LOJ |
| ||
Update license text | LOJ | Update | ||
Final bug fixes | (All) |
| ||
Mark all open bugs as Affects: current release | SPH |
|
For this release: Should we branch the repo here, instead of after release? We need to allow people to continue working on unrelated items while release work is ongoing.{warning
(DJC here) A better approach going forward would be to merge master into production, and switch the test system to the production branch. This probably ought to be done right before building RC1. The dev team would have 2 options then:
Checkout branches based on what they are working on (i.e. checkout production for bug fixes for the release, and their current clone of master – every one is cloning for new work, right? – for ongoing work)
Alternatively, make bug fixes in master and cherry-pick merge changes into production as bugs are fixed
The former is the better approach, IMO, because it ensures that the bug fix is made on the current code base for the release.
For App Freeze (May 5)
App Freeze is a freeze on all application bundle files beyond data and code. This includes documentation, sample scripts, stuff in the extras folder, etc.
Use "(/)" for the checkmark () and "(x)" for the cross ()
Task | Who | Status | Notes |
|---|---|---|---|
Update | JJKP | Update with major release highlights. | |
Update extras folder | JJKP | Notepad++ syntax coloring file | |
Update PDF files in docs folder | SPH/DJC | DJC: SPH: |
|
Gather list of compatibility changes since last release | SPH |
| |
Update Release Notes | SPH |
| |
Update screenshots in User Guide | (Feature leads) | JJKP: SPH: RQ: DSQ: |
|
Test User Guide instructions & code | (Feature leads) | RQ: DSQ: JJKP: SPH: |
|
Update Windows installer package | JJKP | No updates necessary. | |
Update links in GMAT.ini | JJKP |
| |
Update link tests in TestComplete | TR |
|
Testing of Release Candidate 1 (May 5-May 9)
This will start with the 2014-05-05 daily build. Repeat this phase until tests check out. Steve will make the call.
Use "(/)" for the checkmark () and "(x)" for the cross ()
Task | Who | Status | Notes |
|---|---|---|---|
Update README.txt | JJKP | RC1: RC2-RC5: N/A | Next time: this should probably be "Update Release Notes" to add outstanding bugs, etc. |
Build Windows installer | JJKP (backup: TGG) | RC1: RC2: RC2-2: RC3: RC4: RC5: | Version string: R2014a-rc# Next time: build manager should do this |
Bundle Windows zip | JJKP (backup: TGG) | RC1: RC2: RC2-2: |