You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 48 Next »

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

Table of contents


Target Date: May 14, 2014


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

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

Use "(/)" for the checkmark ((tick)) and "(x)" for the cross ((error))





Review Previous Build Release R2013b Process Notes

Get updated legal statement/licenseSPH(tick)(tick)Needed by Code Freeze.
Update sample scripts

Needed by App Freeze.

  • Write examples that demonstrate new functionality
  • Clean up all errors and warnings
  • Remove deprecated fields
Write draft Release Notes




Needed by App Freeze.

See Writing Release Notes

Update standard descriptive textSPH(error)(error)

Needed by App Freeze.

Will be used in User Guide, websites, release announcement.

Update version number on User Guide cover pageJJKP(error)(error)

Needed by App Freeze.

Contact Katy Gammage or Mary Hrybyk-Keith.

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

Update info on public-facing websitesJJKP(error)N/A

Needed by Release Day.

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

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

Update release announcement contactsSPHN/AN/A

Needed by Release Day. Located here.

Put in order for additional iconsSPHN/AN/A

(if necessary)

Needed by Visual Freeze.

For QA Complete (April 21)

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 ((tick)) and "(x)" for the cross ((error))


Verify that all known bugs are checked into JIRA(All)RQ: (tick)RQ: I'm done with this
Complete all JIRA verifications(All)RQ: (tick)RQ: I'm done with this
Complete QA wrap-up tasksDSC, SPH, JJKP, RQ

RQ: (tick)

RQ: I'm done with this

Address all JIRA tickets awaiting feedback(All)RQ: (tick)RQ: I'm done with this

For Visual Freeze (April 30)

Visual Freeze finalizes all graphical changes to the software, so that screenshots, documentation, and TestComplete can be updated.

Use "(/)" for the checkmark ((tick)) and "(x)" for the cross ((error))




Update About panel


  1. Update release number (i.e. R2014a).  
  2. Add any new libraries used. 
  3. Update an links.
Update splash screenTGG(tick)(tick)
  1. Add new contributors
  2. Remove contributors who did not contribute to this release
  3. Design updates
  4. Update SplashScreen.psd in GmatDevelopment\moredata\graphics\splash
  5. Use GIMP to save a flattened TIF file and overwrite splash screen in GmatDevelopment\application\data\graphics\splash.
Update iconsTGG(tick)(tick)

If there are any updates, additions, deletions.

Including GMATIcon for Welcome Page

Update gmat_startup_file.txtJJKP(tick)(tick)
  • Update formatting, comments
  • Add any additional plugins
  • Switch to release configuration (comment out internal plugins)

No new plugins added. Commented out internal plugins.

Switch to release configuration in script test system

  • Create new rundef.R2014aInternal.template.m and rundef.R2014aPublic.template.m.
  • Switch autorun.m to use appropriate one.

4/30: switched to R2014aInternal

Complete visual updates(All)(error)(error)

4/30: JJKP: still waiting on final updates to contributors list from KARI

5/2: TGG: final update committed

For Code Freeze (April 30) 

Code Freeze is a freeze on the software itself before final testing.

Use "(/)" for the checkmark ((tick)) and "(x)" for the cross ((error))




Update EOP filesWCS(tick)(tick)Update eopc04_08.62-now and run smoke tests.
Update files w/ updated legal statementLOJ(tick)(tick)
  • Readme file
  • Source code files
Update license textLOJ(tick)(tick)Update application/License.txt file.
Final bug fixes(All)(tick)(tick) 
Mark all open bugs as Affects: current releaseSPH(tick)(tick) 

For this release: Should we branch the repo here, instead of after release? We need to allow people to continue working on unrelated items while release work is ongoing.{warning

(DJC here)  A better approach going forward would be to merge master into production, and switch the test system to the production branch.  This probably ought to be done right before building RC1.  The dev team would have 2 options then:

  1. Checkout branches based on what they are working on (i.e. checkout production for bug fixes for the release, and their current clone of master – every one is cloning for new work, right? – for ongoing work)
  2. Alternatively, make bug fixes in master and cherry-pick merge changes into production as bugs are fixed

The former is the better approach, IMO, because it ensures that the bug fix is made on the current code base for the release.

For App Freeze (May 5) 

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 ((tick)) and "(x)" for the cross ((error))

Update README.txtJJKP(tick)Update with major release highlights.
Update extras folderJJKP(tick)Notepad++ syntax coloring file
Update PDF files in docs folderSPH/DJC

DJC: (tick)

SPH: (tick)

  • Update watermark: "Draft for Release R2013b"
  • Put into application/docs folder, and individual doc source folders
Gather list of compatibility changes since last releaseSPH(tick)
  • Deprecated fields
  • Removed & disabled fields
  • Anything a user would need to know to make R2013b scripts compatible with this release.
Update Release Notes
Update screenshots in User Guide
(Feature leads)

JJKP: (tick)

SPH: (tick)

RQ: (tick)

DSQ: (tick)

Test User Guide instructions & code(Feature leads)

RQ: (tick)

DSQ: (tick)

JJKP: (tick)

SPH: (tick)

  • Tutorials
  • Common Tasks
  • script snippets
  • reference page examples
Update Windows installer packageJJKP(tick)No updates necessary.
Update links in GMAT.ini


  • Help links
  • Welcome page links
Update link tests in TestCompleteTR(tick)
  • Help buttons
  • Welcome Page links
  • Help menu links


Testing of Release Candidate 1 (May 5-May 9)

This will start with the 2014-05-05 daily build. Repeat this phase until tests check out. Steve will make the call.

Use "(/)" for the checkmark ((tick)) and "(x)" for the cross ((error))


RC1: (tick)


Build Windows installer

JJKP (backup: TGG)

RC1: (tick)

Version string: R2014a-rc#

Bundle Windows zip

JJKP (backup: TGG)

RC1: (tick)

Version string: R2014a-rc#
Run TestComplete smoke testsTRRC1: (error)These are tests on the packaged versions of GMAT: the installer and the zip bundle.
Run TestComplete system test missionsTRRC1: (error)These are tests on the packaged versions of GMAT: the installer and the zip bundle.
Run script test systemJJKP (backup: TGG)

RC1: (tick)

Run the internal installer tests on T4 and the public installer tests on Joel's machine. Run .zip bundle tests afterwards on same build to compare.
Test all sample scriptsSPHRC2: (tick)At a minimum these need to be run individually by hand.  I ran them by adding the folder, and they run so fast I missed some pretty big problems.  Ideally, these should all be in script regression tests.  Many but not all already are regression tested.
Run TestComplete full regression testsTR(error)(For final RC only)


  • While this cycle is ongoing is a good time to do wiki updates and cleanup.

Stage Release (May 13)

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 ((tick)) and "(x)" for the cross ((error))


Bundle source code and upload to SourceForgeDJC*(error)
  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
  4. Move the zip file to SF
  5. Mark as "staged"
  6. Download the upload and check it
Bundle data and upload to SourceForgeDJC*(error)
  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
  4. Move the zip file to SF
  5. Mark as "staged"
  6. Download the upload and check it
Upload Windows installer to SourceForgeJJKP(error)Download, install, and run after uploading.
Upload Windows zip to SourceForgeJJKP(error)Download and run after uploading.
Post README.txt on SourceForgeJJKP(error) 
Post internal & public release files to MESA networkJJKP(error) 

Branch and tag repositories

JJKP(error)At least tag the test system; consider branching also if the burden on the repo is low.
Make SourceForge repository backupJJKP(error)

Follow SourceForge's instructions.

Perform the backup on the Linode server and download the resultant .zip file, since the local network blocks rsync.

* DJC can only do steps 1-3 here because of contractual constraints

Release Day (May 14)

Use "(/)" for the checkmark ((tick)) and "(x)" for the cross ((error))


Make files visible on SourceForge

Send out release announcementSPH(error)
  • Mention GSFC in the announcement
  • Don't include large attachments.
Post release announcement on SourceForgeDJC*(error) 
Post release announcement on GMAT BlogJJKP(error) 
Mark as released in JIRASPH(error) 

This needs to be assigned to a different person; DJC cannot post to SF


Use "(/)" for the checkmark ((tick)).



Print materials
  • Printed documentation (reference booklet, full User Guide)
  • Release CDs
Conduct postmortem reviewSPH(error)This includes gathering feedback, holding the postmortem meeting, and documenting the results.
Submit GSFC Metrics SummarySPH Measurement summary tool must  be submitted for each major build.
Submit NTR for next releaseSPH(error) 
Spring cleaning?(error)

General cleanup of infrastructure:

    • Wiki
    • \\mesa-file\595\GMAT
    • get rid of old SVN branches
    • anything else?

Notes for postmortem

Please add your notes to the R2014a Lessons Learned document.

Compatibility changes

This is a list of compatibility changes since R2013c that need to be captured in the release notes.

  • ?

See Writing Release Notes

Creating an RC

  1. Create the build
    1. Log into gs580w-gmat-t4 as "gs580w-gmat-t4\builduser". The credentials are on the network drive, in the Infrastructure folder.
    2. Start Task Scheduler.
    3. [RC1 only] Disable the "GMAT Daily Build" task, so it doesn't run automatically during the RC cycle (this can make things overly confusing).
    4. Manually run the "GMAT Daily Build" task.
  2. Create the bundles
    1. On your local system, navigate to SourceForge\trunk\build\install\windows-nsis. There's a README.txt file there that explains things.
    2. Open a MinGW Shell in this directory.
    3. Run "make VERSION=R2014a-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.
    4. Copy the four package files to the network: \\mesa-file\595\GMAT\Builds\windows\VS2010_build
    5. To clean everything up afterwards, run "make clean".
  3. Run the script test system on the internal installer package. See Running the script test system, below.

Running the script test system

In the steps below, "#" is the RC number and "<config>" is "internal" or "public".

  1. Log into gs580w-gmat-t4 as "gs580w-gmat-t4\testuser". The credentials are on the network drive, in the Infrastructure folder.
  2. [RC1 only] Start Task Scheduler and disable the "Run Script Test" task. You'll need to run the RC tests manually.
  3. Uninstall all previous versions of GMAT.
  4. Install the version being tested.
    1. Check "Enable MATLAB interface".
    2. Leave "Associate file types" unchecked.
  5. Update the test system repo (located at C:\Users\testuser\Documents\GmatTest)
  6. In MATLAB (64-bit):
    1. Run:
      >> cd C:\Users\testuser\Documents\GmatTest\bin
    2. Run (replace # with RC number and <config> with "internal" or "public"):
      >> diary('..\log\R2014a-rc#-<config>.log')
    3. 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')
    4. In C:\Users\testuser\Documents\GmatTest\bin, copy the appropriate template (autorundef.R2014aInternal.template.m or autorundef.R2014aPublic.template.m) to a new name (such as autorundef.R2014aRc1Internal.m) and fill in the values:
      1. RunDef.Build: "R2014a-rc#-<config>"
      2. RunDef.GmatExe: path to installed GMAT.exe
      3. RunDef.RegressionBuild: last build date if testing RC1 (look in GmatTest\output for latest folder, such as 2013-07-31), otherwise, "R2014a-rc#-<config>"
    5. Run:
      >> gmattest <name of rundef.m> (e.g. autorundef.R2014aRc1Internal.m) 
    6. Wait until run completes (usually 8+ hours)
    7. Run:
      >> diary('off')
  7. In a Windows cmd window, post results to network using robocopy:
    >robocopy "C:\Users\testuser\Documents\GmatTest\output\R2014a-rc#-<config>" "\\mesa-file\595\GMAT\TestResults\win7\R2014a-rc#-<config>" /E /MT /LOG:%TEMP%\robocopy.txt

Issues for RC2

  • No labels