GMAT 2015a Release Process

GMAT 2015a Release Process

This page is used to track the process and progress of the R2015a release.

Release Lead Roles

Role

Assignee

Authority/Responsibility

Role

Assignee

Authority/Responsibility

Release Manager

SPH

"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. Must be reachable and preferably in the office during critical stages like creating and testing RCs.

Build Manager

JJKP or LOJ(?)

controls build system, creates RCs, sends RC availability announcements. Must be reachable and preferably in the office during critical stages like creating and testing RCs.

Test Manager

TR

control GUI/script testing for each RC.  Must be reachable and preferably in the office during critical stages like creating and testing RCs.

Open Process Questions R2015a

  • 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

  • When should we merge with production and baseline tests?

Release Risks

 

This is a list of all risks (opened and closed) related to smooth release of R2015a.

Owner

Status

Description

Resolution

Owner

Status

Description

Resolution

RQ

Closed

GMAT function testing is not completed so there could be many unknown issues discovered close to code freeze.

Configured test system to run regression test system in function mode and ran tens of thousands of test. 

JJKP

Open

Many failing event location tests.  There may be hidden bugs because issues have not been resolved.

 

DJC

Open

Python interface unstable.   Process for testing and integration into nightly build is unclear.

 

SPH

Open

Space weather file not ready for testing and tests are not written.

 

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

Task

Who

Status

Internal

Status

Notes

Review Previous Build Release R2015b Process Notes

All

 

 

 

Obtain Release Approvals

SPH

Done

Done

Needed by release day.

Get updated legal statement/license

SPH

Done

Done

Needed by Code Freeze.

Update sample scripts

SPH

Done

Done

Needed by App Freeze.

  • Write examples that demonstrate new functionality

  • Clean up all errors and warnings

  • Remove deprecated fields

Write draft Release Notes

JJKP

SPH

Done

Done

Needed by App Freeze.

See Writing Release Notes

Update standard descriptive text

SPH

Done

Done

Needed by App Freeze.

Will be used in User Guide, websites, release announcement.

Update version number in User Guide cover

JJKP

Done

Done

Needed by App Freeze.

Contact Katy Gammage or Mary Hrybyk-Keith to update cover page.

Next time: integrate sejda-console to do this automatically.

Update info on public-facing websites

JJKP

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

 

 

Needed by Release Day. Located here.

Put in order for additional icons

SPH

Done

Done

(if necessary)

Needed by Visual Freeze.

For QA Complete (Sept. 16)

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

Task

Who

Status

Notes

Verify that all known bugs are checked into JIRA

(All)

JJKP:
RQ:

SPH:  

 

Complete all JIRA verifications

(All)

JJKP:
RQ:

SPH:   

 

Complete QA wrap-up tasks

DJC, SPH, JJKP, RQ

JJKP:
RQ:

SPH:  

DJC:

JJKP: Need to run save mode one last time before code freeze.

Address all JIRA tickets awaiting feedback

(All)

JJKP:
RQ:

SPH: 

 

Mark .tc files with requirements and verify traceability to new requirements

(All)

JJKP:
RQ:

SPH: 

This is new this year! 

For Visual Freeze (Oct. 5)

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

Task

Who

Status

Internal

Status

Notes

Update About panel

LOJ

 

  1. Update release number (i.e. R2015a).  

  2. Add any new libraries used. 

  3. Update an links.

Update splash screen

TGG

  1. Add new contributors

  2. Remove contributors who did not contribute to this release

  3. Design updates

  4. Update SplashScreen.psd in GmatDevelopment\moredata\graphics\splash

  5. Use GIMP to save a flattened TIF file and overwrite splash screen in GmatDevelopment\application\data\graphics\splash.

Update icons

TGG

SPH:
WCS:

TGG: 

SPH:
WCS:

TGG: 

If there are any updates, additions, deletions.

Including GMATIcon for Welcome Page

Update gmat_startup_file.txt

JJKP

  • Update formatting, comments

  • Add any additional plugins

  • Switch to release configuration (comment out alpha plugins)

Switch to release configuration in script test system

JJKP

  • Create new rundef.R2015aInternal.template.m and rundef.R2015aPublic.template.m.

  • Switch autorun.m to use appropriate one.

Complete visual updates

(All)

SPH:

RQ:

 

 

For Code Freeze (Oct. 9) 

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

Task

Who

Status

Internal

Status

Notes

Update EOP files

WCS

Update eopc04_08.62-now and run smoke tests and SPICE .bpc file

Update tai-utc file & naif LSK

WCS

Update gmat_startup_file with new LSK

Update Info.plist and RunGMAT as needed

WCS

Need copyright and release number/name at least

Update files w/ updated legal statement

LOJ

 

 

  • Readme file

  • Source code files

Update license text

LOJ

Update application/License.txt file.  Nothing to do since license did not change.

Update copyright and code headers

LOJ

 

 

This tool makes adding paragraphs and changing headers simple.  http://sourceforge.net/projects/findandreplace/

As of R2015a these directories have files that need updating.

public\src (hpp, cpp)

public\plugin (hpp, cpp)

public\application\matlab\gmat_keyword (.m)

internal\code (hpp,cpp)

Final bug fixes

(All)

 

 

 

Mark all open bugs as Affects: current release

SPH

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:

  1. 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)

  2. 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 (Oct 9) 

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

Task

Who

Status

Notes

Update README.txt

JJKP

 

Update with major release highlights.

Update extras folder

JJKP

 

Notepad++ syntax coloring file

Update PDF files in docs folder

SPH/DJC

DJC: 

SPH:  

  • Update watermark: "Draft for Release R2015a"

  • Put into application/docs folder, and individual doc source folders

Gather list of compatibility changes since last release

SPH