Versions Compared

Key

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

...

Table of Contents

 

Info

Target Date: April 16August 14, 2013

Tasks

Info

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

TaskWhoStatus

Internal

Status

Notes

Review Previous Build Release R2013a Process Notes

All (tick)(tick) 
Get updated legal statement/licenseSPH(tick)N/AN/ANeeded by Code Freeze.
Update sample scripts
SPH(error)(tick)

Needed by App Freeze.

  • Write examples that demonstrate new functionality
  • Clean up all errors and warnings
  • Remove deprecated fields
Write draft Release NotesJJKP(tick)(tick)

Needed by App Freeze.

See Writing Release Notes

Update standard descriptive textSPH(tick)N/AN/A

Needed by App Freeze.

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

Commet from SPH: See Welcome to GMAT in user guide 

Update info on public-facing websitesJJKP(tick)N/AN/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 contactsSPH(tick)(error)N/A

Needed by Release Day. Located here.

Put in order for additional iconsSPH(tick)(tick)

(if necessary)

Needed by Visual Freeze.

Configuration audits   PCA and FCA. New for Release 2015 based on NPR stuff.

For QA Complete (

March 20

August 1)

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

TaskWhoStatusNotes
Verify that all known bugs are checked into JIRA(All)
(tick)
(error) 
Complete all JIRA verifications(All)
(tick)
(error) 
Complete QA wrap-up tasksDSC, SPH, JJKP, RQ(tick)
GUI rename/delete

 

Address all JIRA tickets awaiting feedback(All)
(tick)
(error) 

For Visual Freeze (

...

August 1)

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

TaskWhoStatus
NotesUpdate links in GMAT.ini

JJKP

(tick)
  • Help links
  • Welcome page links

Is this really a viz freeze issue?

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

This was delayed because of some last-minute behavior changes, but nothing here was required for Visual Freeze this time.

Update

Internal

Status

Notes
Update About panel

LOJ

(tick)Not needed for R2013a
N/AN/A 
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.

This was delayed until (TBD) to allow the team to vote on the final design at the 3/28 team meeting.

Update icons
SPH
TGG(tick)(tick)If there are any updates, additions, deletions.
Update gmat_startup_file.txtJJKP(tick)(tick)
  • Update formatting, comments
  • Switch to release configuration

All new plugins are added.

Switch to release configuration in script test system

JJKP(tick)(tick)

Use new rundef.

R2013aInternal

R2013bInternal.template.m.

Ran public configuration manually on JJKP's machine on 2013-03-27 build.Decided to run manually on RCs only.

Are we running public config tests for this release? For next time, need to figure out a way to assemble public release without manual intervention.

Complete visual updates(All)(error)(tick)Fixed all visual issues known before Visual Freeze.

For Code Freeze (

...

August 1) 

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

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

TaskWhoStatus

Internal

Status

Notes
Update EOP filesWCS(tick)(tick)Update eopc04_08.62-now and run smoke tests.
Update files w/ updated legal statementLOJ
(tick)
N/AN/A 
Update license textLOJ
(tick)
N/AN/AUpdate application/License.txt file.
Final bug fixes(All)
(tick)
(error)(error) 
Infowarning

For next this release: Consider branching 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.

For App Freeze (

...

August 1) 

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

TaskWhoStatusNotes
Update README.txtJJKP(tick)Update with major release highlights.
Update extras folderJJKP(tick)Notepad++ syntax coloring file
Update PDF files in docs folderSPH/DJC(tick)
  • Done (DJC) GMAT-Architectural-Specification.pdf
  • Done (DJC) GMATEstimationSpecification.pdf
  • Done (SPH) GMATMathSpec.pdf 
    • Update watermark: "Draft for Release
    R2013a
    • R2013b"
    • Put into application/docs folder, and individual doc source folders
    Gather list of compatibility changes since last release(Feature leads)(tick)
    • Deprecated fields
    • Removed & disabled fields
    • Anything a user would need to know to make
    R2012a
    • R2012b scripts compatible with this release.

    For this release, put a generic blanket statement regarding the change from beta status to production status and point to wiki page.

    Update Release Notes
    JJKP(tick)
     
    See the R2013b Compatibility Issues document.
    Update screenshots in User Guide
    (Feature leads)

    (tick)

    JJKP: (tick)

     
    Test User Guide instructions & code(Feature leads)

    (tick)

    JJKP: (tick)

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

    JJKP

    (tick)

    Moved from R2013a Visual Freeze Stage

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

     

    Testing of Release Candidate 1 (

    ...

    August 5-9)

    This will start with the 2013-0408-05 01 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))

    TaskWhoStatusNotes
    Update README.txtJJKP
    (tick)(For RC2+) Update with any late-breaking notes.
    (error) 

    Build Windows installer

    JJKP/TGG
    (tick)
    (error)Version string:
    R2013a
    R2013b-rc#

    Bundle Windows zip

    JJKP/TGG
    (tick)
    (error)Version string:
    R2013a
    R2013b-rc#
    Run TestComplete smoke tests
    TGG
    TR(tick)These are tests on the packaged versions of GMAT: the installer and the zip bundle.
    Run TestComplete system test missions
    JMB
    TR(tick)These are tests on the packaged versions of GMAT: the installer and the zip bundle.
    Run script test systemJJKP/TGG
    (tick)
    (error)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 scriptsSPH
    (tick)
    (error)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 tests
    TGG
    TR
    (tick)
    (error)(For final RC only)
    Info
    titleNotes
    • While this cycle is ongoing is a good time to do wiki updates and cleanup.

    Stage Release (

    ...

    August 12)

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

     

    TaskWhoStatusNotes
    Bundle source code and upload to SourceForgeDJC
    (tick)
    N/A
    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
    (tick)
    N/A
    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
    (tick)
    N/ADownload, install, and run after uploading.
    Upload Windows zip to SourceForgeJJKP
    (tick)
    N/ADownload and run after uploading.
    Post README.txt on SourceForgeJJKP
    (tick)
    N/A 
    Post internal & public release files to MESA networkJJKP
    (tick)
    N/A 

    Branch and tag repositories

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

    Follow SourceForge's instructions.

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

    Release Day (

    ...

    August 14)

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

    TaskWhoStatusNotes

    Make files visible on SourceForge

    SPH
    (tick)
    N/A 
    Send out release announcementSPH
    (tick)
    N/A
    • Mention GSFC in the announcement
    • Don't include large attachments.
    Post release announcement on SourceForgeDJC
    (tick)
    N/A 
    Post release announcement on GMAT BlogJJKP
    (tick)
    N/A 

    Post-Release

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

    TaskWhoStatusNotes
    Party!(All)(error)Darrel is visiting sometime in April. Let's do something then.

     

    Print materials
    JJKP(error)
    • 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 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 Release R2013a Process Notesthe R2013b Lessons Learned document.

    Compatibility changes

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

    • Spacecraft.CurrA1MJD parameter is deprecated

    • ImpulsiveBurn.V, ImpulsiveBurn.N, ImpulsiveBurn.B parameters are deprecated

    • non-Earth planet NutationUpdateInterval field is removed

    • restricted setting CoordinateSystem Epoch, Primary, Secondary, XAxis, YAxis, ZAxis fields

    • restricted setting CoordinateSystem Origin field

    See Writing 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=R2013b-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\
      R2013a
      1. R2013b-rc#-<config>.log')
      2. 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')
      Copy
      1. In C:\Users\testuser\Documents\GmatTest\bin, copy the appropriate template (autorundef.
      R2013aInternal
      1. R2013bInternal.template.m or autorundef.
      R2013aPublic
      1. R2013bPublic.template.m) to a new name (such as autorundef.R2013bInternalRC1.template.m) and fill in the values:
        1. RunDef.Build: "
        R2013a
        1. R2013b-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, "
        R2013a
        1. R2013b-rc#-<config>"
      2. Run:
        >> gmattest <name of rundef.m> (e.g. autorundef.R2013bRc1Internal.m) 
      3. Wait until run completes (usually 8+ hours)
      4. Run:
        >> diary('off')
    7. Post In a Windows cmd window, post results to network using robocopy:
      >robocopy "C:\pathUsers\totestuser\Documents\GmatTest\output\R2013aR2013b-rc#-<config>" "\\mesa-file\595\GMAT\TestResults\win7\R2013aR2013b-rc#-<config>" /E /MT /LOG:%TEMP%\robocopy.txt

    Issues for

    ...

    • GMT-3794 (still open)
    • GMT-3826
    • Run graphics regression tests (still open)
    • Run toolbar/menubar regression tests

    Issues for RC2

    • GMT-3745 - fix
    • GMT-3794 - fix
    • GMT-3795 - fix
    • GMT-3797 - fix
    • GMT-3817 - fix if time allows
    • GMT-3816 - don't fix
    • GMT-3803 - don't fix
    • Update scripts for estimation functionality - fix
    • What to do about MATLAB Interface in bundle? - update installer if time allows
    • Proper covers on the PDF User Guide - fix
    • Run graphics regression tests - fix

    RC1

    • ???