Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

...

TaskWhoStatusNotes
Write, run, and commit all final test cases.All

DSC:  (tick)

Nav/SES: (tick)

MS: (tick)

PC:  (tick)

JE: (tick)

DJC:  (tick)


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)

DSC:  (tick)

Nav/SES: (tick)

MS: (tick)

PC:  (tick)

JE: (tick)

DJC:  (tick)

11/10/22:  Jairus to put in a ticket about the TLE writers.  (tick)
Complete all JIRA verifications(All)
Perform independent verification that bug fixes address issue and if necessary create test. 
Test Freeze wrap-up tasksDJC, 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)

PC: (tick)

update google docs req spec (tick), update TC files (tick), verify RTTM is good (tick)



Req spec: https://docs.google.com/spreadsheets/d/1X0esKqU-OcbgnI0mIj15cUQSA2g66f_anj50ftEYQJQ/edit?pref=2&pli=1#gid=1

RTTM: On mesa in nightly test results

Perform Static AnalysisPC

PC: (tick)

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)PCPC: (tick)

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.  PCPC: (tick)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 runPCPC: (tick)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.   

...

TaskWhoStatusNotes

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

JHE(tick)

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

Mac: (tick)


Linux: (tick)

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

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

JHE: (tick)

RM: (tick)

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

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

Windows: (tick)

Linux: (tick)

Mac: (tick)

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)

(tick)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 CmakelistsJHE(tick)

Do this right before code freeze.  Change from R2020a to R2022a.  

Pushed 11/10/22

Set release name in codeJHE(tick)

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

DJC: (tick)

JE:  (tick)

Note that the requirement here is just to "run" the tool.  Analysis can come later.  
11/23/22:  Run on several components; likely to check more

Note: This involves running the Valgrind tool

Update copyright and code headers w/ legal statement

DJC

(All)

DJC:  (tick)

JHE:  (tick)

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.

  • public\src (hpp, cpp)
  • public\plugin (hpp, cpp)
  • public/plugin/CInterfacePlugin/matlab
  • public\application\matlab\
  • internal\code (hpp,cpp)
  • Readme file

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


...

TaskWhoStatusNotes
Update Release Notes
DSCN/A

Next time: this should probably be "Update Release Notes" to add outstanding bugs, etc. – title changed 12/18/17 - MES

https://docs.google.com/document/d/1Uy2ZlKLUBPNBdySQPLI-rmibcmRRqX1T8BbPqSsZ8Hg/edit#

Create Windows BuildPC(tick)RC1: 12/12/2022
provide Help folder to Mac/Linux developers

PC



DJC

(tick)



(tick)

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

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 testsTR(tick)

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 missionsTR(tick)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


(tick)

(tick)

(tick)

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.   

First run tests on the installer version of GMAT. 

(On Final RC, this is 4 runs, Windows and Installer for both  internal and external).  Test internal first. 


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

(tick)

(tick)

(tick)

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

(tick)

(tick)

(tick)

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.  

Test all non-GMAT (i.e., not the *.script GMAT scripts) scripts/scenarios.  (new entry for R2021a)

SES



BM/NH

(tick)



(tick)

 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 testsTR(tick)

(For final RC only)

On Final RC, this is 2 runs, Windows both internal and external. 

Have selected users try out the RCDSC(tick)

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 processAll(tick)

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 bundlesRavi/Jairus/Alex(tick)

Remaining Steps as of 1/3/23

  • Alex/Jairus to get python 3.6 installed on build machine.  (Submit new ticket and/or work with Mike S on old ticket as needed)
  • Alex/Ravi/Jairus:  Verify that all internal vs. Public issues are ironed out.
    • Send both versions to DJC for a sanity check.
    • Have Ravi finish review.  
    • Place relevant files into \\mesa-file\595\GMAT\Builds\R2022a_ReleaseCandidates 

...

TaskWhoStatusNotes
Tag All ReposDJC(tick)

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(tick)
  1. Export the trunk code from svn that is used for the release build when that build is started
  2. Wait for a go/nogo call from testing on the build
  3. Archive the following folder trees into a zip file: src, plugins, build

1/12/23:  Probably to be done by 1/13/23.  COmpleted 1/24/23.

Bundle data
DJC(tick)
  1. Use the same export as used for the source bundle
  2. Wait for a go/nogo call from testing on the build
  3. Archive the following folder tree into a zip file: application/data

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 SourceForgeDJC/RM/JHE/PC(tick)
  1. Move the zip file to SF
  2. Mark as "staged"    (Staged means only Project members can see this.   We forget this step for R2020a)
  3. Download the upload and check it.    (DJC did this for R2020a).

1/12/23:  Probably to be done week of 1/23/23.  COmpleted 1/24/23.

Upload data bundle to SourceForgeDJC/RM/JHE/PC(tick)
  1. Move the zip file to SF
  2. Mark as "staged"   (We forget this step for R2020a)
  3. Download the upload and check it.   (DJC didnt check for R2020a but not considered critical)

1/12/23:  Probably to be done week of 1/23/23.  COmpleted 1/24/23.

Upload Windows installer to SourceForgeDJC/RM/JHE/PC

Download, install, and run after uploading.  For R2020a, we will not deliver the installer version because of the ReadMe update required. 

Upload zip files to SourceForge

DJC/RM/JHE/PC




PC

(tick)




(tick)


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.  

     Upload executable for WindowsDJC/RM/JHE/PC(error)

     Upload executable for Mac OSXDJC/RM/JHE/PC(error)

     Upload executable for LinuxDJC/RM/JHE/PC(error)

Post README.rst.txt on SourceForgeDJC/RM/JHE/PC(tick)

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

(tick)




(tick)



(tick)

  1. Upload using SSH to http://gmat.sourceforge.net/docs/
  2. Update HTML with new section
  3. Move "latest" pointer to new folder



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

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 networkDSC(tick)For R2022a, the folder \\mesa-file\595\GMAT\Releases\R2022a has been created.  
Upload source to SourceForge Git repoDJC/RM/JHE/PC(tick)

Upload public repo to sourceforge.

  • The trick here is to make sure your remote connection is the ssh connection, only available when logged in as a project admin or developer.  Here's a recomemnded set of steps to follow:
    • Clone the SF repo using git: your git GUI's (that is, GitKraken's) equivalent to

      git clone ssh://username@git.code.sf.net/p/gmat/git gmat-git

    • Set the current branch to the previous pushed code branch (e.g. GMAT-R2018a)
    • Add the mesajade repo as a remote to the SF clone.
    • Fetch master from the mesajade remote.  Do not check it out, just fetch it
    • You're still on the sourceforge (e.g. GMAT-R2018a) branch of the SF repo, right?  Good.
    • Branch the SF repo.  Name the new branch for the release (e.g. GMAT-R2020a).
    • Merge all code from the mesajade repo up to the new release's (R2020a) tag into the SF repo.  This should be a fast forward merge.
      (For R2020a, The tag you was commit d17522c9, dated 4/28/2020, with the commit message "Fix for the GOS being NULL in API calls".)
    • Push your new  branch (GMAT-R2020a) to SourceForge.  Optionally. push the tag as well.

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

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 backupDJC/RM/JHE/PC(error)

Follow SourceForge's instructions.

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)

...

TaskWhoStatusNotes

Make files visible (i.e., unstaging) on SourceForge

DSC(tick)

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

(error)(tick)







(tick)

  • Mention GSFC in the announcement
  • Don't include large attachments.







Completed 1/25/23.  


Old R2020a Notes below:

Notes 8/5/2020: 

  1. Sent email to Sourceforge gmat-info email list but received "this list is for project announcements only, so your message has been blocked" response. 
  2. Sent email to Sourceforge gmat-users email list.  Needs Moderator approval.  DJC approved.  Message sent. 
  3. Asked Paul M. to send Release announcement to 590-all. 


"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:

  • Build the text version first and then paste and edit it into the xml, avoiding the internal link issue
  • Make the cover page image document available for editing.  (I suspect it's a Photoshop .psd file with layers.  Or should be.)
Post release announcement on SourceForgeDSC(tick)

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

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 JIRASPH/DSC(error)




Old R2020a Notes 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 SourceForgeDSC(tick)

Completed 1/26/23.  

Added release announcement text here as well. 

...

TaskWhoStatusNotes
Party!(All)(tick)Chevys!
Conduct postmortem review
(error)This includes gathering feedback, holding the postmortem meeting, and documenting the results.
Submit GSFC Metrics Summary

The link to submit the metrics is invalid.No action is required for this item. It was decided on 09/25/14's GMAT meeting to check tasks that do not require any action or are inactive.
Submit NTR for next release
(error)

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

  • Put in NTR for R2023a Beta
  • As before, we will have SUAs with multiple customers and multiple deliveries using this single NTR.  
  • Get OK from legal that one of the Beta deliveries to NOAA/GOES will actually be "non-Beta."
Review deferred tests PC(error)Review all deferred tests and remove any deferred tests needed for the next release
Review tests not being runPC(error)Review all tests not being run and ensure all tests are being run for the next release (In particular the 'R2023a' category)
Create the Lessons Learned Document for R2022aAll(error)

Please add your notes to the R2022a Lessons Learned document.

...