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 |
|---|---|---|
Release Manager |
|
|
Build Manager |
|
|
Test Manager |
|
|
Release Risks
This is a list of all risks (opened and closed) related to smooth release of R2025a.
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 |
|---|---|---|---|
Obtain Release Authorization | BCM/EGD |
Update and Submit SW Release Package via SRS (https://softwarerelease.ndc.nasa.gov/)
| |
Update Sample Scripts | Area Leads | Defer until 2025b |
============================ 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.
Notes/Questions:
|
Write draft Release Notes | EGD/All | Needed by App Freeze.
| |
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
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
| |
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:
deleting CMake cache
re-running configure.py
Deciding what versions of 3rd party software, including Matlab & Python, should be.
Decision made to build with
Matlab R2022a – [DJC] Actually, MATLAB R2024b, because it is required for Python 3.12 compatibility
python 3.9, 3.10, 3.11, and 3.12 versions
wxWidgets version, 3.2.6
VS 2022
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.
Running python script for downloading latest data files (see gmat/application/data for details).
Creating CMake configurations for public and internal releases (alpha & and proprietary plugin choices) [DJC] Not sure what this means
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 |
|---|---|---|---|
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 |
| 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. 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 |
|---|---|---|---|
Update About panel | DJC |
The code is located in src/gui/app Note that the version number is set in GmatGlobal.cpp. | |
Update splash screen | PJC |
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 | |
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 | |
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
| |
Run Dynamic Analysis tool or other tool that checks for memory leaks | DJC/PJC |