GMAT R2025a Release Process

GMAT R2025a Release Process

This page is used to track the process and progress of the GMAT R2025a Release.

Release Lead Roles

Role

Assignee

Authority/Responsibility

Role

Assignee

Authority/Responsibility

Release Manager

  • EGD

  • "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 during critical stages like creating and testing RCs.

Build Manager

  • Windows: PJC

  • Mac: PJC

  • Linux: DJC

  • Controls build system, creates RCs, sends RC availability announcements.

  • Must be reachable during critical stages like creating and testing RCs.

Test Manager

  • GUI: Tetyana

  • Windows Script: PJC

  • Control GUI/script testing for each RC. 

  • Must be reachable 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 R2025a.

Owner

Status

Description

Resolution

Owner

Status

Description

Resolution

EGD

Mitigate

wxWidgets 3.2.6 update being done close to the end of the release development cycle

Mitigating issues as they are found. In the event of a >minor roadblock, a decision will have to be made.

EGD

Mitigate

python 3.12 update being done close to the end of the release development cycle

Mitigating issues as they are found. In the event of a >minor roadblock, a decision will have to be made.

EGD

Mitigate

GUI test updates for wx 3.2.6 being done close to the end of the release development cycle

Mitigating issues as they are found. In the event of a >minor roadblock, a decision will have to be made.

 

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.

 

GMAT R2025a Jira List:

https://gmat.atlassian.net/projects/GMT/versions/11503/tab/release-report-all-issues

Early Tasks (EGD/BCM)

These are long-lead early tasks that can be completed before the detailed release cycle.

Use the checkmark () for complete, the yellow clock (

) for in-progress, and the cross () for an issue.

Task

Who

Status

Instructions

Task

Who

Status

Instructions

Obtain Release Authorization

BCM/EGD

  • 2/21/25: Approved for release

  • 1/15/25: NTR approved and submitted SRS docs

  • 1/06/25: Currently awaiting NASA Approval and Case Number 

  • 12/09/24: Submitted R2025 New Technology Report (NTR) via E-NTR System (https://invention.nasa.gov/), includes a 10-day Innovator Review Cycle.

Update and Submit SW Release Package via SRS (https://softwarerelease.ndc.nasa.gov/)

  • Software Release System (SRS) routes package through multiple reviews: 

    • POC Review

    • Initial SRA Review

    • Technology Transfer Office Review

    • Patent Counsel Office Review

    • IT Security Review

    • Export Control Office Review

    • Section 508 Coordinator Office Review

    • Other Review

    • Final SRA Review

Update Sample Scripts

Area Leads

Defer until 2025b

  • MM/DD/YY: TBD

============================

This includes

-Ask SES if he think any more sample scripts needed.  

-Generic GOES sample scripts.  (Dont use GOES orbit or other data, generic torque recall, etc).

Jairus (Ground station masking, cov prop, IOD, TLE prop, Trk 2-23)

Steve S/Pete C (SAA sample script)

Above work ties in with the Release Notes.  (Review list above again after Release Notes written).  

 

Needed by App Freeze.

  • Write examples that demonstrate new functionality

  • Clean up all errors and warnings

  • Remove deprecated fields

  • Make sure all the old and new sample scripts run correctly.  (Note: There is a way to run all scrips in a folder, must be in Run_Mode=Testing)

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 R2022a_

  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

EGD/All

Needed by App Freeze.

  • 2/20/2025: Team compiling release note updates in draft in team document repository

See Writing Release Notes

Update version number in User Guide cover

EGD

Needed by Visual Freeze; see details below.

Process to submit graphic requests:  open ticket via https://etd-support.ndc.nasa.gov/servicePortal

  • 1/21/2025: EGD-Uploaded graphics artifacts to the internal document repository release folder under the management tab

  • 12/2/2024: EGD-Created ETD graphics ticket 78067 for splash screen and user guide cover graphics update

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

Get updated splash screen

EGD

Needed by Visual Freeze; see details below.

Process to submit graphic requests:  open ticket via https://etd-support.ndc.nasa.gov/servicePortal

  • 1/21/2025: EGD-Uploaded graphics artifacts to the internal document repository release folder under the management tab

  • 12/2/2024: Created ETD graphics ticket 78067 for splash screen and user guide cover graphics update

Put in order for additional icons

EGD

12/2/24;  No additional icons needed.  

Needed by Visual Freeze

None needed since not actively updating GUI.  

Update info on public-facing websites

EGD/DJC

Needed by Release Day. 

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

Update release announcement contacts

EGD

Needed by Release Day. 

2025/04/18: Migrated previous release contact list to internal GMAT-Team doc repo in the /Documents/1.0 Management/1.7 GMAT SW Releases/ location.

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

Update libraries to current release

PJC/DJC

 

Update the various depends libraries and other software that is used by GMAT.

These include but are not limited to: Python, Swig, Boost, wxWidgets, Visual Studio, GCC. 

Dependency update tickets for the release:

For Feature Complete (EGD)

Feature complete means that all planned features (new requirements, enhancements) are implemented in the system and ready for final checkout. 

  • Coding complete except for minor bugs. 

  • Docs complete with exception of minor tweaks. 

  • 90% of new regression tests are complete; if there are bugs, they are mostly minor and cosmetic. 

After Feature Complete (EGD):

This should be considered in more general terms – I think that right after feature complete we should build RC0 to iron out kinks early.
Here are some of the possibilities:

  1. deleting CMake cache

  2. re-running configure.py

  3. Deciding what versions of 3rd party software, including Matlab & Python, should be.

    1. Decision made to build with

      1. Matlab R2022a – [DJC] Actually, MATLAB R2024b, because it is required for Python 3.12 compatibility

      2. python 3.9, 3.10, 3.11, and 3.12 versions

      3. wxWidgets version, 3.2.6  

      4. VS 2022

  4. Re-cloning the latest version of OFI – [DJC] Last updated 4/29/2024, so should be good.  There is a current dependency issue for the OSG code that is not yet resolved.

  5. Running python script for downloading latest data files (see gmat/application/data for details). 

  6. Creating CMake configurations for public and internal releases (alpha & and proprietary plugin choices) [DJC] Not sure what this means

  7. Running the sample scripts

The idea is to catch any problems early. This should fold into the R2022a process. [DJC] R2025a here?

For Development Freeze (Pete Candell with an assist from SES)

Development of the scheduled functionality is completed and the closeout of the release process can begin.

Use the checkmark () for complete, the yellow clock (

) for in-progress, and the cross () for an issue.

Task

Who

Status

Notes

Task

Who

Status

Notes

Write, run, and commit all final test cases.

All

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

3/7/2025: Dev code freeze occurred at this time

1/28/2025: Nominal dev process has test creation included

 

 

Verify that all known bugs are checked into JIRA

(All)

EGD: Redundant step if following nominal dev process

Complete all JIRA verifications

(All)

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

EGD: This is part of the process for closing a ticket and is a redundant step

Test Freeze wrap-up tasks

EGD

See here: Wrap Up Testing - GMAT Wiki - Confluence (atlassian.net)

Work with Steve S on this.  

Notes from R2020a:

RM: Performed manual GUI Delete & Rename tests on OFI  (Ask Ravi to take a look for R2022a)

Address all JIRA tickets awaiting feedback

(All)

If someone is asking for clarification, provide requested information.

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

(All)

SES

  • Update Requirements Spec

  • Update TC files

  •  Verify RTTM is good

Req spec: GMAT Requirements.xlsx

RTTM: On mesa in nightly test results

Perform Static Analysis

JJR/DJC

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

Tool was run and analysis was done by JJR/DJC and reported on 3/14/2025

Review all and resolve test failures on each OS (Windows, Linux, Mac)

PC

EGD: Redundant step if following nominal dev process

Review all deferred tests to verify that they are OK to defer.  

PC

Look at the daily test results for all 3 o/s.  Do a final review right before Test Freeze achieved.   

Review tests that are not being run to verify that they are OK not to run

PC

Create a list of tests not being run nightly.  (e.g., for R2022a, this may be tests with the R2023a category).  Verify that it is OK to not run them.  Do a final review right before Test Freeze achieved.   

For Release Candidate Freeze (EGD)

Release Candidate Freeze is a freeze on the software itself before final testing, which used to be Code Freeze and Visual Freeze.

Use the checkmark () for complete, the yellow clock (

) for in-progress, and the cross () for an issue.

Task

Who

Status

Notes

Task

Who

Status

Notes

Update About panel

DJC

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

  2. Add any new libraries used. (Did we update any libraries for R2025a since R2022a?).  

  3. Update any links.

The code is located in src/gui/app

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

Update splash screen

PJC

  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

N/A

12/2/2024: No updates to the icons for the current release.  (Use Default)

Update UG cover image

PJC

Similar to the splash screen

Update Open Frames Interface's

About Panel

TBD

OpenFramesInterface's About panel with release number and links to OFI Wiki
(Panel is accessed from the OFI configuration panel; still says 2022a; likely okay for this release though)

Complete visual updates

(All)

Move to App Freeze?

Update Info.plist (Mac specific) and RunGMAT (shell script on Mac) as needed

TBD

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

Update test system RunGmat.m on Mac if needed

Mac: PJC/JG

 

Linux: DJC

 

 

Update for MATLAB version (MatLab R2022) and Python version (Python 3.9) as needed. This refers to the files in the SVN test repo, found under bin/+gmatrunner/

This should be before the Freezes-move there for the next release.

Address issues in Static Analysis results

(All)

Not going to fix anything for 2025a

Update license text

DJC

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

Check the compilation output and fix selected warning messages.

Windows: PC

Linux: DJC

Mac: TBD

 

 

Mostly related to the number of Windows warnings, but a check should be done for each OS.

Reviewed and fixed relevant warnings on Windows.

(Linux: None needed for R2025a; some work needed for R2025b)

Mark all open significant bugs as Affects: current release

CCB

(EGD/SES)

in JIRA, mark all open tickets as affects the current release.  This can be done via a global change.  This is not a huge number of bugs.  

Update version number in Cmakelists

PJC/DJC

Do this right before code freeze.  Change to the current release version.  

Set release name in code

PJC/DJC

Change GmatGlobals to use formal release name and do a scan of all files to make sure the current release version is being referenced throughout the code

  • Verify proper release name in batch estimator and Kalman filter report file banners

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

DJC/PJC