GMAT R2020a Release Process

GMAT R2020a Release Process

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

Release Lead Roles

Role

Assignee

Authority/Responsibility

Release Manager

DSC (assigned 2/27/2020)

"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/SK: 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: DSC

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

RM

Closed
(2/21/20)

Graphics work behind schedule

OpenFramesInterface v1.0 ready for release with GMAT R2020a.
OFI is documented and has been integrated with GMAT's build and test systems.
Sensor Masks are also documented and all GUI tests are complete.

 

 

 

 

 

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.

 

Milestones for R2020a

Remaining Tickets for Release 2020a

Early Tasks (MES)

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

Instructions

Update sample scripts

Area Leads

OFI [RM] (23 sample scripts included)

Optimal Control  (9 sample scripts included)

Needed by App Freeze.

  • Write examples that demonstrate new functionality

  • Clean up all errors and warnings

  • Remove deprecated fields

Notes/Questions:  

  1. The OFI scripts are stored in the OFI repo, not in the GMAT repo. That's because OFI is an externally maintained and managed project.When GMAT is built, e.g. the windows build machine, it copies the OFI sample scripts into latestcompleteversion. That's how those scripts will be part of the release without being in the GMAT repo.

  2. The sample script file names be pre-pended with R2020a.

  3. Make sure all the API Folder (and associated sub-folder) sample scripts are updated and run correctly.

  4. Starting with R2021a:  For Nav, we will be adding python analysis scripts associated with the EKFS GPS point solution tutorial, to the GMAT releases.  Thus, in addition to the usual GMAT sample scripts, we should be making sure that the non-GMAT scripts, such as these python analysis scripts, also still run correctly. 

Write draft Release Notes

All

Needed by App Freeze.

See Writing Release Notes

Update version number in User Guide cover

SPH

SPH:

Needed by App Freeze.

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

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

Get updated splash screen

SPH

SPH:

Needed by App Freeze.

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

 Get updated legal statement/license

DSC

Needed by Code Freeze.

Just need to change the year usually.  

 Put in order for additional icons

SPH

None needed.

(if necessary)

Needed by Visual Freeze.

Update info on public-facing websites

SPH?

Needed by Release Day.

See the list of sites. Update this list as well, if necessary.

NOTE 8/6/2020.  This list needs to be updated.  Also, consider a team discussion to delete some websites. 

 

 

Updated major sites before announcement. Minor ones can be updated a bit later.

Update release announcement contacts

SPH

Needed by Release Day. Located here.

DSC will create list based upon SPH's R2018a email. 

(aerospace professors, ESA, chief technologists at NASA centers)

 Obtain Release Approvals

DSC

DSC: In progress

Needed by release day.

For Feature Complete (MES)

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

For Test Freeze (Kazmi)

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

Write, run, and commit all final test cases.

All

SPH: 

Nav/SES: 

MS:

SK: 

RM:

NH: 

After test complete, the test repo is frozen.  All tests must be written by this deadline.

 

SK:  add about 100 tests for H/W FOV (SK).  Completed 3/18/2020.

MS:  Add attitude tests.  Goal is Monday 3/23.  All tests completed and passed 3/26. MS: oops, haven't committed yet.

NH: JJR has tracked down different results between different OSes and submitted new truth files.

OFI functional and system tests integrated into Windows GUI test system 

Verify that all known bugs are checked into JIRA

(All)

SPH:

DJC:

Is anything missing from triaged list in JIRA dashboard R2019a Remaining Tickets?

Complete all JIRA verifications

(All)

SPH:

Perform independent verification that bug fixes address issue and if necessary create test. 

Test Freeze wrap-up tasks

DJC, SPH, SES

Optimal Control:   this was built in to testing process over the summer.

SPH: 

Nav/SES:  

MS:

SK:  

NH/JJR:  

RM:

DJC:

See here: http://li394-117.members.linode.com:8090/display/GW/Engineering+Activities

(SPH plans to have a wiki-walk-through to discuss wrap-up tasks).  

SES; Submitted ticket GMT-7172 on Save mode issues.

MS/SK:  Review link above. -

NH/JJR:  Review link above. 

 

 

RM: Performed manual GUI Delete & Rename tests on OFI

Address all JIRA tickets awaiting feedback

(All)

SPH:

NH: 

DJC:

If someone is asking for clarification, provide requested information.

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

(All)

Nav/SES: 

NH/JJR:  

MS: 

SK: 

SPH: 

RM:

NH/JJR:  update google docs req spec , update TC file , verify RTTM is good 

MS/SK:  update req with H/W FOV and attitude.   SK completed 3/18/20.  Will do on 3/27 – and done

 

 

SPH:  agreed to update TC files for FRR-37.  

RM: OFI GMAT interface reqs captured, and marked as "GUI Test". Per SPH, additional script tests are not needed for the OFI since GUI tests cover all of its interface functionality.

Perform Static Analysis

JJR

JJR: 

Run VS analysis tool to identify possible issues.  (Note that the requirement here is just to "run" the tool.  Analysis can come later.)

Run Dynamic Analysis tool or other tool that checks for memory leaks

DJC

DJC:

Note that the requirement here is just to "run" the tool.  Analysis can come later.  

For Visual Freeze (Napier)

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

Update About panel

WCS

 

 

 

RM:

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

  2. Add any new libraries used. (DSC sent list of libraries used).  

  3. Update an links.

The code is located in \src\gui\app

Note that the version number is set in GmatGlobal.cpp. 

RM: Updated OpenFramesInterface's About panel with release number and links to OFI Wiki

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 root directory of the gmat public repo  \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

SPH

Still need some icons to include DynamicDataDisplay.  4/9/2020:  Decided to leave icons alone.  (Use Default)

Update gmat_startup_file.txt

WCS

  • Update formatting, comments

  • Add any additional plugins

  • Switch to release configuration for public startup.  See here for instructions.

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 (Shoan) 

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

DSC

SPH

 

DSC:  Updated files for R2020a (GMT-7073) for the 3/17/20 build.  The GMAT python utility was used.  Note that one bug in the python utility had to be fixed, GMT-7175.  

 

Ran RunDateFileTests.m w/o running preparegmat.  Just one error, which from reading the help comments might be OK.  Request SPH concurrence?  Does anything else need to be done?

      SchattenPredict_DistributedSchattenFile [pos err 19.4597, tol 0.01]

 

 

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

WCS

Need copyright and release number/name at least   - Info_GMAT.plist and RunGMAT updated 2020.03.18

Update test system RunGmat.m if needed

MES

Update for MATLAB version (to default or agreed-upon version) as needed; are other updates needed as well?

MS: MATLAB is set; SNOPT path information is in file, need to run full test with proper version of gfortran.

*** Who is doing this for Linux and PC? They have been done if the tests are running properly. *** 

(DJC)  Linux and Windows do not use a RunGmat file.  That file is Mac specific. 

(WCS) This is the RunGmat.m file in +gmatRunner in the test system, not the script in the Mac bundle.  I suspect linux updates this too - I see it currently pointing to MATLAB 2019 (as it should).

 

Address issues in Static Analysis results

WCS

Fixed 4 issues (in 3 files)

Update license text

SPH

 

RM:

Update application/License.txt file.  May be nothing to do since license did not change.

RM: Updated OFI readme containing license info

Update copyright and code headers w/ legal statement

DJC for SPH

 

 

 

 

 

 

 

 

 

 

RM:

Note: this must be done after CCB has accepted all final changes and we are ready to create RC1.  It requires coordination with the entire team as almost all source code files will be changed. 

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

As of R2020a these directories have files that need updating.

  • public\src (hpp, cpp)

  • public\plugin (hpp, cpp)

  • public/plugin/CInterfacePlugin/matlab

  • public\application\matlab\

  • internal\code (hpp,cpp)

  • Readme file

  Updates for 2011 onwards were needed.  Files that assert copyright outside of the GMAT project were not updated.  Files with no copyright header at all were also not caught (there are at lest some - in the CsaltCWrapper code.  THere is likely more as well.

 

For R2020a, replace to

// Copyright (c) 2002 - 2018

RM: Updated for OFI

 

Final bug fixes

(All)

 

RM:

RM: Fixed all outstanding OFI issues

Mark all open bugs as Affects: current release

SPH

in JIRA, mark all open tickets as affects the current release

Set release name in code

WCS

Change GmatGlobals to use formal release name

Update version number in Cmakelists

DJC

Do this right before code freeze.  

For App Freeze (Cooley) 

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

Task

Who