GMAT R2017a Release Process

GMAT R2017a 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

TDN: Windows

WCS: Mac

DJC: Linux

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

GUI: TR

Script: SPH

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

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

SPH

Closed.

 

Triage backlog of issues for critical bugs.

Triage nightly failures.

  Reviewed issues, checked in two new bu;gs. 

DJC

Open

Level of effort for last minute critical issues is not clear

Investigate SDO STK format file changes and TESS Bugs to get better estimates early so we know if we have any issues. 

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

Notes

Task

Who

Status

Notes

Obtain Release Approvals

SPH

In Progress

Needed by release day.

Get updated legal statement/license

SPH

In Progress

Needed by Code Freeze.

Update sample scripts

SPH

 

Needed by App Freeze.

  • Write examples that demonstrate new functionality

  • Clean up all errors and warnings

  • Remove deprecated fields

Write draft Release Notes

SPH

 

Needed by App Freeze.

See Writing Release Notes

Update standard descriptive text

SPH

 

Needed by App Freeze.

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

Update version number in User Guide cover

SPH

In Progress

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

TGG

 

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

(if necessary)

Needed by Visual Freeze.

For Feature Complete (May 11)

Feature complete means that all planned features are implemented in the system and ready for final QA.

For QA Complete (May 11)

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)

DSC:  

SPH:

 

Complete all JIRA verifications

(All)

DSC:
SPH:  

   

 

Complete QA wrap-up tasks

DJC, SPH, JJKP, RQ

DSC: 

SPH:  

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

DJC: No Wrap-up tasks assigned to me

Address all JIRA tickets awaiting feedback

(All)

DSC:

SPH:   

 

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

(All)

DSC:
RQ:

SPH:  

This is new this year! 

Perform Static Analysis

WCS SPH

WCS:

 

Run VS analysis tool and fix critical issues.

For Visual Freeze (May 11)

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

Notes

Task

Who

Status

Notes

Update About panel

SPH

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

  2. Add any new libraries used. 

  3. Update an links.

Update splash screen

SPH

  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.

  6. Make sure there is a BETA splash as well. 

Move to App Freeze. 

Update icons

N/A

If there are any updates, additions, deletions.

Including GMATIcon for Welcome Page

Update gmat_startup_file.txt

WCS

  • Update formatting, comments

  • Add any additional plugins

  • Switch to release configuration for public startup (comment out alpha plugins)

Make sure to update both internal and public versions and any platform specific versions.

Complete visual updates

(All)

Move to App Freeze. 

For Code Freeze (Noon June 2) 

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 data files

WCS

Update eopc04_08.62-now and run smoke tests and SPICE .bpc file (SHOULD be moved to App Freeze)

Update Info.plist and RunGMAT as needed;

and RunGmat.m (test system) if needed

WCS

Need copyright and release number/name at least; Update to default MATLAB version in test system file

Update files w/ updated legal statement

SPH

 

 

  • Readme file

  • Source code files

Update license text

SPH

No Change.

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

Update copyright and code headers

SPH

 

 

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

 

Set release name in code

WCS

Change GmatGlobals to use formal release name

Update version number in Cmakelists

 

 

 

 

For App Freeze (Noon June 2

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

SPH

SPH:

WCS:

DJC:

 

Update any install and run instructions. 

Update extras folder

SPH

 

Notepad++ syntax coloring file

Update PDF files in docs folder

SPH/DJC

DJC: 

SPH:  

 

 

  • Update watermark: "Draft for Release R2016a"

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

Gather list of compatibility changes since last release

SPH

 

  • Deprecated fields

  • Removed & disabled fields

  • Anything a user would need to know to make R2016b scripts compatible with this release.

Update Release Notes

SPH

 

 

Update screenshots in User Guide

(Feature leads)

SPH:  

DSC: 

 

Test User Guide instructions & code

(Feature leads)

DSC:

SPH:  

  • Tutorials

  • script snippets

  • reference page examples

SPH:  only tested features that changed for which I was FDE

Update Windows installer package

SPH

 

 

Update links in GMAT.ini

SPH

 

  • Help links

  • Welcome page links

Update link tests in TestComplete

TR

  • Help buttons

  • Welcome Page links

  • Help menu links

Testing of Release Candidate 1 (June 3 - June 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 ()