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 R2022a.
Owner | Status | Description | Resolution |
---|---|---|---|
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 (BCM)
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 |
---|---|---|---|
Obtain Release Authorization | BCM/EGD | Update and Submit New Technology Report (NTR) via E-NTR System (https://invention.nasa.gov/)
Update and Submit SW Release Package via SRS (https://softwarerelease.ndc.nasa.gov/)
| |
Update Sample Scripts | Area Leads | 11/20/22: Biggest missing item are the TLE writer sample scripts. BCM Action assigned 9/15/22: work with team to verify: (1) all old sample scripts work. (Remember trick to run all scripts in a folder. Need Run_Mode=Testing). Look at all error and warning messages and make sure they are expected. Need to do main Samples directory and every folder in the Samples directory. Label new samples with starting prefix, Ex_R2022a_
(2) Decide which new R2022a features need sample scripts and add them to the samples directory.
============================ 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 | DSC/All | Needed by App Freeze. | |
Update version number in User Guide cover | EGD | Needed by Visual Freeze; see details below. 10/04/22: Katy Comber/279 to update cover page. 01/2024 New 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. 10/04/22: Contacted Katy Comber/279 to update cover page. | |
Put in order for additional icons | EGD | 11/10/22; No additional icons needed. Needed by Visual Freeze None needed since not actively updating GUI. | |
Update info on public-facing websites | DSC/DJC | Needed by Release Day. Completed 1/26/2023. See the list of sites. Update this list as well, if necessary. | |
Update release announcement contacts | DSC | Needed by Release Day. Located here. Completed 1/26/2023. (aerospace professors, ESA, chief technologists at NASA centers) | |
Update libraries to current release | 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. For a more complete list see GMT-8180. |
For Feature Complete (BCM)
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 (BCM):
This should be considered in more general terms – I think that right after feature complete we should build RC0 to iron out kinks early. some of the possibiliites
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
- python 3.9 and other later python 3 versions (so that Ravi's fix to allow user to use multiple python 3 versions works)
Decided to stay on our current wxWidgets version, 3.04.
- Decision made to build with
Re-cloning the latest version of OFI
Running python script for downloading latest data files (see gmat/application/data for details). Pete assigned this on 10/13/22
Creating CMake configurations for public and internal releases (alpha & and proprietary plugin choices)
Running the sample scripts
The idea is to catch any problems early. This should fold into the R2022a process.
For Test Freeze (Pete Candell with an assist from SES)
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 |
---|---|---|---|
Write, run, and commit all final test cases. | All | 11/10/22: need to test the three bug fixes related to the paths. SES to test if he can. Otherwise, Jairus will test. 11/10/22: SES and PC to test GMT-7861 After test complete, the test repo is frozen. All tests must be written by this deadline. | |
Verify that all known bugs are checked into JIRA | (All) | 11/10/22: Jairus to put in a ticket about the TLE writers. | |
Complete all JIRA verifications | (All) | Perform independent verification that bug fixes address issue and if necessary create test. | |
Test Freeze wrap-up tasks | DJC, SPH, SES | See here: Wrap Up Testing - GMAT Wiki - Confluence (atlassian.net) Work with Steve S on this. SES; Submitted ticket GMT-7172 on Save mode issues. 10/13/22 - left here as an example issue. SES added Save category to various tests for each new feature 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) | update google docs req spec , update TC files , verify RTTM is good RTTM: On mesa in nightly test results | |
Perform Static Analysis | PC | Run VS analysis tool 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 Peter Candell on 9/20/2022 | |
Review all and resolve test failures on each OS (Windows, Linux, Mac) | PC | Windows nearly complete, most work remaining on Mac and Linux 11/10/22: Ravi and Alex to look at Mac regression test failures. 11/22/2022: Steve S to also to take a look at failed Mac regression tests. 11/28/2022: For LInux, in addition to the usual Centos7/RHEL7 and Ubuntu test runs, for R2022a, we need additional RHEL8 test runs. | |
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 Visual Freeze (Alex/Jairus)
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 | AC |
The code is located in \src\gui\app Note that the version number is set in GmatGlobal.cpp. | |
Update splash screen | AC |
Move to App Freeze. | |
Update icons | Decided to leave icons alone. (Use Default) | ||
Update UG cover image | Similar to the splash screen | ||
Update Open Frames Interface's About Panel | RM | OpenFramesInterface's About panel with release number and links to OFI Wiki | |
Complete visual updates | (All) | Move to App Freeze? |
For Code Freeze (Jairus/Alex)
Code Freeze is a freeze on the software itself before final testing.
Use "(/)
" for the checkmark () and "(x)" for the cross ()
Task | Who | Status | Notes |
---|---|---|---|
Update Info.plist (Mac specific) and RunGMAT (shell script on Mac) as needed | JHE | Need copyright and release number/name at least - Info_GMAT.plist and RunGMAT JHE: Updated on 10/21/22 | |
Update test system RunGmat.m on Mac if needed | Mac: RM/AC 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/ DJC updated linux files on 9/06/22 This should be before the Freezes-move there for the next release. | |
Address issues in Static Analysis results | (All) | Pete C. Ran on 9/20/22, need to review results and work fixes Pete, Tuan, and Jairus each reviewed independently | |
Update license text | JHE: Overall RM: OFI | Update JHE: No changes to license.txt needed RM: OFI has no license changes. Still Apache 2 and all dependencies are the same | |
Check the compilation output and fix selected warning messages. | Windows: PC, JE, TN Linux: DJC Mac: JG, RM/AC | Mostly related to the number of Windows warnings, but a check should be done for each OS. Reviewed and fixed relevant warnings on Windows. RM: Updated CMake to hide Mac compile warnings related to external components (e.g. Boost) | |
Mark all open significant bugs as Affects: current release | CCB (DSC) | 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 | JHE | Do this right before code freeze. Change from R2020a to R2022a. Pushed 11/10/22 | |
Set release name in code | JHE | Change GmatGlobals to use formal release name Changed by AC on 11/7/22 as part of splash screen upgrade | |
Run Dynamic Analysis tool or other tool that checks for memory leaks | DJC JE | Note that the requirement here is just to "run" the tool. Analysis can come later. Note: This involves running the Valgrind tool | |
Update copyright and code headers w/ legal statement | DJC (All) | 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/ DJC: Done for R2022a. JHE has 10 files to update OLD R2020a Notes below: As of R2020a these directories have files that need updating.
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 |
For App Freeze (Cooley, Pete/Jairus)
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. This means that we can build a release candidate.
Use "(/)
" for the checkmark () and "(x)" for the cross ()
Task | Who | Status | Notes |
---|---|---|---|
Update README.txt | MS, PC,DJC | Update any install and run instructions. Remove reference to Windows installer. For OC, check with Noble. Get Linux inputs from DJC , Mac inputs from Mike Windows inputs from PC ,. README will mostly link to user guide. Readme updated , See DJC Email comments . Reviewed 12/1/22 and sent out actions. Old R2020a Notes below: WCS: README.txt updated for Mac; points to User Guide for most information | |
Update data files | PC SES | PC to run GMATDataFileManager.py locally and then copy files over to source code git repo. See Old R2020a Notes below: 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 | |
Update extras folder | JE | Update Notepad++ syntax coloring file located in gmat\data\extras folder to include new resource names, command names and keyword names. This file is used by Notepad++ to highlight GMAT script files according to the GMAT script language. | |
Update PDF files in docs folder | DJC | 11/22/2022: DJC to work this after Valgrind work.
| |
Update gmat_startup_file.txt | JE | 12/8/22: JE to edit the 4 startup files to comment out the alpha plug-ins. JE, editing all 6 startup files, will also move the TLE plug-in from ALpha to default. Old R2020a Notes below:
Make sure to update platform specific versions. Question: Should this happen after testing of internal build is complete (i.e. right before packaging)? The issue is that these need to be ON for thorough testing, but not ON in the delivered application DSC Note 4/13/2020: After all changes to the code have been made (still have CCB on 4/14 to review DJC ticket), I am going to do one more complete run with all the alpha plug-ins turns turned on. Is this recommended for Mac/Linux also?).
Make sure to update both internal and public versions and any platform specific versions. | |
Update the list of alpha plug-ins. This is useful for versions ot the test scripts involving tests where the alpha plug-ins are commented out. (Windows/Linux/Mac) | DSC | Verify that the test system has been updated to identify new internal and alpha features for this release. (e.g., make sure GetAlphaScriptContent.m as been updated. Note: This should be updated by TestComplete). Update local test configurations to test only production features (don't test alpha plugins). (e.g., for Windows, in file autorundef_T6.m, set "runDefMan.SetRunAlphaTests(false) ") Instructions for performing those two steps are located here. Note: This is done immediately before release testing. Old R2020a Notes below: DSC Note 4/13/2020: I updated GetAlphaScriptContent.m for known Nav alpha Resources and Commands. Are there any other alpha Resources and Commands for R2020a? | |
Gather list of compatibility changes since last release (part of Release Notes) | SES |
| |
Update Release Notes | DSC NH/OC DJC SES JE RM: OFI | To Create JIRA Release notes link that is used in Release Notes, see instructions here: https://confluence.atlassian.com/adminjiraserver/creating-release-notes-938847219.html 12/1/22: DSC to take one more pass at it. Then ask everyone for a final review. When done, change your red x to a green check. Old R2020a Notes below: Make sure SPHINX documentation for API and OC are included in docs folder DJC: Should we also make the HTML for the API and OC subsystems part of the release? (It's simple, and done via "make html" in the top level Tools folder.) 4/14/20: SPH said to include if can do so. https://docs.google.com/document/d/1Uy2ZlKLUBPNBdySQPLI-rmibcmRRqX1T8BbPqSsZ8Hg/edit# | |
Update screenshots in User Guide | Engineers | 12/8/22; Just waiting for Josh. | |
Test User Guide instructions & code (Not much to be done for R2022a. Most important to do this when we start deprecating features and parameter names.) | JHE PC JR |
MS: C-interface stopped building in R2020a. | |
Update links in GMAT.ini | JE/AC |
This will cause some tests to fail because we update the location of the new user guide URL, before that URL is active (activated after staging). 11/22/2022: Question: in the ini file, do we have to update just web links or is it more involved? Suggest using a file compare utility to compare the R2018a vs. R2020a GMAT.ini file. NOTES (1) For LInux, all the help (e.g., "Links and Resources" and the Help button for a Resource) use the HTML pages on sourceforge. Linux does not support Windows Help. (2) For Windows, the Help button for a Resource uses the file \docs\help\help.chm. | |
Update link tests in TestComplete | TR |
11/21/22 - Complete | |
Update truth data in TestComplete | TR |
11/21/22 - Complete | |
|
| ||
For R2022a, only provide zip file | JHE | Update UG to remove mention of Windows installer. (unzip it) | |
Get updated legal statement/license | DJC/BM | This is usually done as the final step before app freeze. Basically:
1/24/23: Received legal verbiage and updated Readme.txt file. |
Testing of Release Candidates (Steve/All )
Repeat this phase until tests check out. Steve will make the call.
Use "(/)
" for the checkmark () and "(x)" for the cross ()
Task | Who | Status | Notes |
---|---|---|---|
N/A |
| ||
Create Windows Build | PC | RC1: 12/12/2022 | |
provide Help folder to Mac/Linux developers | PC DJC | This needs to be provided once the documentation is complete and built with the release candidate. Note this cannot be done until all docs are frozen! (SPH takes Windows RC, edits Help doc in Acrobat. Sends to Mac/Linux) Rebuild the OC/API HTML Help PC 2022a help folder on mesa file and SharePoint. Ask PC for location. Old R2020a Notes below: DJC: Make sure SPHINX for API and OC are included. DJC added the files to application/docs. Note: For future releases, we should consider adding a build step to generate these automatically as part of the install process in CMake, rather than putting the generated files into the repo directly. | |
Bundle Windows zip | PC | Is there anything to this besides putting the build in a zip? Steps for Mac/Linux here too? For Windows, see gmat\build\install\windows-nsis\CreateInstall.bat To be placed on Mesa-files | |
Run TestComplete smoke tests | TR | These are tests on the packaged versions of GMAT: the zip bundle. ( Test internal first. ) (Current smoke tests take a long time, about 4 hours. Maybe later, cut this time down) | |
Run TestComplete system test missions | TR | These are tests on the packaged versions of GMAT: the zip bundle from Internal and External packages. | |
Run script test system | DSC/JHE/PC AC/RM/JG DJC | This must be done on all operating systems that will be released. 1/11/23: Alex to create DMG file. Then install using the DMG file and run test system. For 2022a ensure this is done on RHEL7 and RHEL8. Windows. Run tests on the internal .zip bundle first, then the external tests afterwards on same build to compare. For Windows, use task scheduler to turn off the automatic runs. Then, manually, run the four test scripts below. To Do: For Linux/Mac, decide which scripts, analogous to the ones above, need to be run. (On Final RC, this is 2 runs, internal and external). Test internal first. DSC to check with PC and/or JE on scripts run. 11/28/2022: For LInux, in addition to the usual Centos7/RHEL7 and Ubuntu test runs, for R2022a, we need additional RHEL8 test runs. Old R2020a Notes below: For R2020a Windows results, see \\mesa-file\595\GMAT\Builds\windows\VS2017_build_64\R2020a\RC2\Test Results folder.
Mac – RC1 run completed with 3 errors (alpha off), RC2 run is looping through comparators at 1:46 pm 4/30 Linux – RC2 internal is solid on both Linux flavors. | |
Test all sample scripts (non-API) | JN/PC/EB JG/MS/AC DJC/JR/JHE | At a minimum these need to be run individually by hand or run in GUI regression system. Additionally, they must be run on a system that has no other installations of GMAT. Past experience has shown that missing files, and configuration issues are not caught by running on machines used for development. | |
Test API Sample Scripts | AC/PC/EB DJC AC/RM/JG/MS | Windows Linux, /3/23 Action for DJC Mac, 1/3/23 Action for AC. Old R2020a Notes below: Notes: (1) Make sure all API Sample tests (API folder and API/Jupyter sub-folder) run correctly. (2) For 2020a Mac, will not run API sample scripts. Definition: Run scripts in Folder API and API/Jupyter. | |
Run Sample Scripts with the GUI open | EGD | Run sample missions using GMAT.exe, monitor the runs, and document any anomalous behavior. Windows | |
Test all non-GMAT (i.e., not the *.script GMAT scripts) scripts/scenarios. (new entry for R2021a) | SES BM/NH | Tested utilities/python/Navigation scripts; made some updates. It would be good to get someone to test plot_raw_residuals.py This worked in my python39 environment but failed in my base Anaconda environment. 1/3/23: Jairus to test SES mentions. SES: why did it fail in Anaconda? 11/10/22: Make sure all the non OC utilities in utilities\python still work. Barb to work with NH to make sure all the OC utilities still run correctly in R2022a. Note: 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. | |
Run TestComplete full regression tests | TR | (For final RC only) On Final RC, this is 2 runs, Windows both internal and external. | |
Have selected users try out the RC | DSC | 1/12/23: After SWFO gives the OK on RC3, then OK. 1/19/23: Got OK from SWFO. Have Khashy, RST, others take the RC for a test drive and report issues. 2022a-RC1: Passed to various users 12/12/2022 | |
Document the RC testing process | All | Save artifacts related to RC testing. This includes matlab test scripts used and test results. For an R2020a example, see \\mesa-file\595\GMAT\Builds\windows\VS2017_build_64\R2020a For R2022a, folder \\mesa-file\595\GMAT\Builds\windows\VS2017_build_64\R2022a has been created. Barb working this also. | |
Create Mac bundles | PJC | Remaining Steps as of 1/3/23
|
Notes
- While this cycle is ongoing is a good time to do wiki updates and cleanup.
Stage Release (TBS)
This is a soft release, putting all the files in place and updating information. Then on release day, we only need to send the announcements.
Use "(/)
" for the checkmark () and "(x)" for the cross ()
NOTE: For R2022a, we made two TEAMS videos (1/24/2023 and 1/26/2023 of some of the steps.
Task | Who | Status | Notes |
---|---|---|---|
Tag All Repos | DJC | At least tag the test system; consider branching also if the burden on the repo is low. (In SVN, tagging makes a branch, so tagging already creates a branch.) git source code repo: Completed 1/24/23. SVN test repot: Completed 1/24/23 | |
Bundle source code | DJC |
1/12/23: Probably to be done by 1/13/23. COmpleted 1/24/23. | |
Bundle data | DJC |
1/12/23: Probably to be done by 1/13/23. COmpleted 1/24/23. Data = gravity files, space weather files, leap seconds, planetary ephemerides, atmospheric files. | |
Upload source bundle to SourceForge | DJC/RM/JHE/PC |
1/12/23: Probably to be done week of 1/23/23. COmpleted 1/24/23. | |
Upload data bundle to SourceForge | DJC/RM/JHE/PC |
1/12/23: Probably to be done week of 1/23/23. COmpleted 1/24/23. | |
| |||
Upload zip files to SourceForge | DJC/RM/JHE/PC PC | COmpleted 1/24/23. Download and run after uploading. For R2020a, DJC downloaded and ran for all 4 (two flavors Linux) o/s below. Check checksum for each os and for each package. | |
Post README.rst.txt on SourceForge | DJC/RM/JHE/PC | Completed 1/24/23. Old R2020a Notes below: Update for new release. For R2020a, the actual file is not a RST file. | |
Upload docs to documentation site | DJC/RM/JHE/PC DJC/RM/JHE/PC DJC/RM/JHE/PC |
COmpleted 1/24/23. 1/12/23: Probably to be done week of 1/23/23 Note: When you run the GMAT GUI, the Help/Online Help directs to SourceForge. Old R2020a Notes below: the C-interface capability was not delivered for Mac but was for the other o/s. (libCInterface.dll is the name of the plug in for Windows). SourceForge has a broken link for Help for this. Wendy and Darrel recommend pointing to the API doc here instead. Sean with an assist from DJC will do this. SN: pointed the current development link for API to R2020a/api/apiIndex.html Update links to current development box. (Either delete content or fix it) SN: Moved R2020a content to nightly so links are correct. SEE NOTES IN SECTION BELOW | |
Fixed "latest download" to point to new exe. (make sure source forge "Download" button downloads the latest version) | DJC/RM/JHE/PC | See instructions here: http://stackoverflow.com/questions/6777327/how-to-manually-set-the-default-download-file-in-a-sourceforge-project Completed 1/26/2023. | |
Post internal & public release files to MESA network | DSC | For R2022a, the folder \\mesa-file\595\GMAT\Releases\R2022a has been created. | |
Upload source to SourceForge Git repo | DJC/RM/JHE/PC | Upload public repo to sourceforge.
Change new branch to be active branch (what is checked out by default - set in Admin-Code). Completed 1/26/23. Note: We made a TEAMS video of this process. | |
Update the doxygen data (goes on SF) | DJC/RM/JHE/PC | DJC needs to run doxygen on the latest source code that we are putting on SF. Completed 1/26/2023. DJC created a zip that contained "base" and "gui" folders. Using FileZilla, we renamed the old base and gui folders (/home/project-web/gmat/htdocs/docs/nightly) to old_R2020a and gui_R2020a) and then copied over the new base and gui folders. The file transfer takes a long time. Note: We made a TEAMS video of this process. | |
Make SourceForge repository backup | DJC/RM/JHE/PC | Follow SourceForge's instructions. (This is a full backup of the project at sourceforge. Requires person who backs it up to have significant storage space available) Here is the Rsync command for us: rsync -av git.code.sf.net::p/gmat/git.git . (Can not be done until git repo updated) 2/2/23: DJC action item. Backup size is 2.7 GB | |
Post requirement spreadsheets to somewhere public |
* DJC can only do steps 1-3 here because of contractual constraints
Release Day (TBS)
Use "(/)
" for the checkmark () and "(x)" for the cross ()
NOTE: For R2022a, we made two TEAMS videos (1/24/2023 and 1/26/2023 of some of the steps.
Task | Who | Status | Notes |
---|---|---|---|
Make files visible (i.e., unstaging) on SourceForge | DSC | Completed 1/26/23. Old R2020a Notes below: 07/21: Made visible at time of posting, as "soft" release. (For R2020a, we forgot the "staged" step) | |
Send out release announcement (Snd BCC to avoid "Reply All" spam) Create R2022a "Release Notes" PDF to send out. | DSC DSC/DJC |
Completed 1/25/23. Old R2020a Notes below: Notes 8/5/2020:
"Release Notes" was a bit of a hack. I made a custom Makefile to build a draft document from the UG xml file, and then edited it for formatting and broken User Guide links. The cover page is the R2018a cover page, with the "20" piece copied over the 18 and then the "a" shifted to the right. This is not a recommended best practice! Suggestions:
| |
Post release announcement on SourceForge | DSC | Completed 1/26/23. At the GMAT Sourceforge website, select the "Admin" section. Then choose the "Metadata" section. Make sure to unlock the padlock in the upper right hand. Update the "Full Description" section and hit "Save." | |
Post release announcement on Atlassian. | DSC | Completed 1/26/23. Go to https://gmat.atlassian.net/wiki/spaces/GW/overview. Hit the ". . ." button. View Restrictions to make sure you have edit privileges. | |
Mark as released in JIRA | SPH/DSC | 2/2/23. Requires more investigation. Old R2020a Notes below: 2/2/23. We "released" R202a. See link below. R2020a: Not quite sure what is involved. Will coordinate with SPH. 8/6/2020: WIki changed. SPH to investigate. Need to find list of releases. Go to JIRA. Select "Projects" on LHS menu. Then select "Releases." Hit ... Click on Release of interest. Move unresolved issues to next Release. | |
Update "News" at SourceForge | DSC | Completed 1/26/23. Added release announcement text here as well. |
DJC cannot post to SF
Post-Release
Use "(/)
" for the checkmark ().
Task | Who | Status | Notes |
---|---|---|---|
Party! | (All) | Chevys! | |
Conduct postmortem review | This includes gathering feedback, holding the postmortem meeting, and documenting the results. | ||
Submit NTR for next release | BM to start working on NTR for our next (single customer) release. Try to word it so fixes/enhancement for follow-on builds are covered. Proposal
| ||
Review deferred tests | PC | Review all deferred tests and remove any deferred tests needed for the next release | |
Review tests not being run | PC | Windows LInux Mac Review all tests not being run and ensure all tests are being run for the next release (In particular the 'R2023a' category) 2/2/23. R2023a is now turned on for Windows. | |
Create and have a team review of the Lessons Learned Document for R2024a | All | Please add your notes to the R2022a Lessons Learned document. |
Compatibility changes
Creating an RC
- Prerequisites:
- sejda-console
- nsis (nsis must also be on path)
- mingw http://www.mingw.org/
- command line zip
- Create the build
- Log into
gs580w-gmat-t4
as "gsfc580gmatbuild
". The credentials are on the network drive, in theInfrastructure
folder. - Start Task Scheduler.
- [RC1 only] Disable the "GMAT Daily Build" task, so it doesn't run automatically during the RC cycle (this can make things overly confusing).
- Manually run the "GMAT Daily Build" task.
- Log into
- Create the bundles
- On your local system, navigate to
GmatDevelopment\build\install\windows-nsis
. Note that you do not need to pull files down from the Git repository; this process will pull files from the remote build and create the packages in your local directory. There's aREADME.txt
file there that explains things. - Open a MinGW, MSYS2, or Cygwin shell in this directory.
- Run '
make assemble VERSION="R2015a-rc#"'
, where "#
" is the number of the RC you're creating. This will create two directories in the current directory:gmat-internal
andgmat-public
. Run the following commands to add the User Guide cover. This requires sejda-console.
sejda-console merge -f ../../../doc/help/src/files/images/Cover-UserGuide-A4-Trimmed.pdf gmat-internal/GMAT/docs/help/help-a4.pdf -o gmat-internal/GMAT/docs/help/help-a4-new.pdf -s all:all: mv gmat-internal/GMAT/docs/help/help-a4-new.pdf gmat-internal/GMAT/docs/help/help-a4.pdf sejda-console merge -f ../../../doc/help/src/files/images/Cover-UserGuide-Letter-Trimmed.pdf gmat-internal/GMAT/docs/help/help-letter.pdf -o gmat-internal/GMAT/docs/help/help-letter-new.pdf -s all:all: mv gmat-internal/GMAT/docs/help/help-letter-new.pdf gmat-internal/GMAT/docs/help/help-letter.pdf sejda-console merge -f ../../../doc/help/src/files/images/Cover-UserGuide-A4-Trimmed.pdf gmat-public/GMAT/docs/help/help-a4.pdf -o gmat-public/GMAT/docs/help/help-a4-new.pdf -s all:all: mv gmat-public/GMAT/docs/help/help-a4-new.pdf gmat-public/GMAT/docs/help/help-a4.pdf sejda-console merge -f ../../../doc/help/src/files/images/Cover-UserGuide-Letter-Trimmed.pdf gmat-public/GMAT/docs/help/help-letter.pdf -o gmat-public/GMAT/docs/help/help-letter-new.pdf -s all:all: mv gmat-public/GMAT/docs/help/help-letter-new.pdf gmat-public/GMAT/docs/help/help-letter.pdf
- Run '
make VERSION="R2015a-rc#"'
, where "#
" is the number of the RC you're creating. This will create four packages in the current directory: A.zip
and a.exe
file for both the internal and public versions. Note: To create only an internal version, run 'make internal VERSION="R2015a-rc#"
'. - Copy the four package files to the network:
\\mesa-file\595\GMAT\Builds\windows\VS2013_build_32\R2015a
- To clean everything up afterwards, run "
make clean
".
- On your local system, navigate to
- Run the script test system on the internal installer package. See Running the script test system, below.
Note: To make the final release bundles, you can't just rename the files to take off the "-rc#" portion. You need to recreate the bundles using this command: make VERSION="R2015a"
Running the script test system
In the steps below, "#
" is the RC number and "<config>
" is "internal
" or "public
".
- Log into
gs580w-gmat-t4
as "gsfc580gmattest
". The credentials are on the network drive, in theInfrastructure
folder. - [RC1 only] Start Task Scheduler and disable the "Run Script Test" task. You'll need to run the RC tests manually.
- Uninstall all previous versions of GMAT.
- Install the version being tested.
- Check "Enable MATLAB interface".
- Leave "Associate file types" unchecked.
- Update the test system repo (located at
C:\Users\gsfc580gmattest\Documents\GmatTest
) - In MATLAB (64-bit):
- Run:
>> cd C:\Users\gsfc580gmattest\Documents\GmatTest\bin
- Run (replace
#
with RC number and<config>
with "internal
" or "public
"):>> diary('..\log\R2015a-rc#-<config>.log')
- Run (this command copies application files such as SPICE kernels needed for regression tests into the new installation of GMAT):
>> preparegmat('C:\Path\To\GMAT')
- In
C:\Users\testuser\Documents\GmatTest\bin
, copy the appropriate template (autorundef.R2015aInternal.template.m
orautorundef.R2015aPublic.template.m
) to a new name (such asautorundef.R2015aRc1Internal.m
) and fill in the values:RunDef.Build
: "R2015a-rc#-<config>
"RunDef.GmatExe
: path to installedGMAT.exe
RunDef.RegressionBuild
: last build date if testing RC1 (look inGmatTest\output
for latest folder, such as2013-07-31
), otherwise, "R2015a-rc#-<config>
"
- Run:
>>gmattest <name of rundef.m>
(e.g.autorundef.R2015aRc1Internal.m
) - Wait until run completes (usually 8+ hours)
- Run:
>>diary('off')
- Run:
- In a Windows
cmd
window, post results to network usingrobocopy
:>robocopy "C:\Users\gsfc580gmattest\Documents\GmatTest\output\R2015a-rc#-<config>" "\\mesa-file\595\GMAT\TestResults\win7\R2015a-rc#-<config>" /E /MT /LOG:%TEMP%\robocopy.txt
Updating SourceForge HTML docs page
The Sourceforge page for logging in is here: https://sourceforge.net/p/forge/documentation/SFTP/
I (SPH) used Filezilla and this was pretty straightforward once succesfully logging in:
Hostname is frs.sourceforge.net
UserName: "YOURSOURCEFORGEUSERNAME,gmat"
Password is: YOURSOURCEFORGEPASSWORD
File Updating
- Add a new folder for the release under the gmat\htdocs\docs folder
- Update contents of the new release folder with files from new release
- Update the gmat\htdocs\docs\index.html to include new folder and to point to the new latest folder.