Versions Compared

Key

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

...

OwnerStatusDescriptionResolution
LOJClosedGUI Behavior when using Includes is not completed.GUI is viewable not savable when using includes.  Basically disable saving of the GUI view.  Propose closing as not a risk, just work that needs to be done.
SPHClosedDisplay command fell of the radarThis command will be combined with Save and called Write. Propose closing as not a risk, just work that needs to be done.
DSCClosedSave command is not defined yet.This command will be combined with Display and called Write. Propose closing as not a risk, just work that needs to be done.
DJCClosedMATLAB Writer for nav data. Stand alone is working, ready for GMAT integration.  Has MATLAB dependency which affects integration.  Tracked in ticket system.
RQOpenClosed

Improving

Delta V computation from finite burn is not on task and harder than SPH's origional idea.

SDO is evaulating if approximations are good enough.  Since the maneuvers times are short, dt*thrust is an excellent approximation for delta-V.  Preliminary tests indicate about 1% error using approximation.

The main question from SDO was whether the approximations are good enough for the delta H maneuvers.  They see 5 sig figs which is good enough.  The approximation is not good enough for large maneuvers they plan far in the future.   Current plan is to change SOW deliverables for R2016b to include integration of delta V to ensure long term needs are met.  Deliver R2016a with the approximation.

DSCClosedAlpha/Beta Features are exposed but not easy to turn off.  FileThrust, GUIs for Nav components

This is being tracked on GMT-4862.   This does not seem to be a tall pole.  Propose closing as not a risk, just work that needs to be done.  Still need a plan for disabling untested data types. 

Scrub things that should be disabled.   For example, old syntax like DataFile, MeasurementModel.  This is being tracked in JIRA.

DSCOpenClosed

Improving

May need to use RedHat 6.?. 

Might need to use Windows, status of Linux for ODT is unknown.

 

FDF is running Linux 7, with workaround for ssh.

TGGWatchingClosedInstaller for cross platform supporting SVN data update utility

Current plan is that Data Update Utility will be included only if time allows, and that means time to fix issues and get installer working.  Note, we probably do not need installer fro RC1, so that work could be pushed back until September if need be. 

 

Data file update utility will not be in R2016a, it will be in R2016b.

 

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.

Git Repo Branching Policy

This is our branching strategy during RC testing by the FDF for ODT.

  • We will create a new R2017aTemp branch from master, and developers working on code changes for R2017a would work in R2017aTemp. 
  • Those working on docs, app freeze items, and the few remaining code updates for R2016a keep working in master. 
  • Code changes for master could continue to require code reading and CCB approval.
  • Once we've promoted the RCs to release builds, we'll first branch R2016a from master, then merge R2017aTemp back into master and return to normal branching/commit policy.

Early Tasks

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

...

TaskWhoStatus

Internal

Status

Notes

Review Previous Build Release R2015b Process Notes

All (tick) (tick) 
Obtain Release ApprovalsSPH  Needed by release day.
Get updated legal statement/licenseSPH N/A Needed by Code Freeze.
Update sample scripts
SPH (tick) (tick)

Needed by App Freeze.

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

SPH

 (tick) (tick)

Needed by App Freeze.

See Writing Release Notes

Update standard descriptive textSPH (tick) (tick)

Needed by App Freeze.

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

Update version number in User Guide cover
JJKPSPH (tick) (tick)

Needed by App Freeze.

Contact Katy Gammage or Mary Hrybyk-Keith to update cover page.

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

Update info on public-facing websitesTGG  

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  

Needed by Release Day. Located here.

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

(if necessary)

Needed by Visual Freeze.

...

TaskWhoStatusNotes
Verify that all known bugs are checked into JIRA(All)

DSC: (tick)

RQ:(tick)

SPH: Done  (tick)

 
Complete all JIRA verifications(All)

DSC: (tick)

RQ:(tick)

SPH:   Done (tick)

   

 
Complete QA wrap-up tasksDJC, SPH, JJKP, RQ

DSC:(tick)

RQ:(tick)

SPH:  Done  (tick)

JJKP: Need to run save mode one last time before code freeze.

DJC: No Wrap-up tasks assigned to me

Address all JIRA tickets awaiting feedback(All)

DSC: (tick)

RQ:(tick)

SPH:   Done(tick) 

 
Mark .tc files with requirements and verify traceability to new requirements(All)

DSC:
RQ:

SPH:  

This is new this year! 
Perform Static AnalysisTGG(tick) 

For Visual Freeze (Aug. 5)

...

TaskWhoStatus

Internal

Status

Notes
Update About panel

LOJ

 (tick) (tick)
  1. Update release number (i.e. R2015a).  
  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.
  6. Make sure there is a BETA splash as well. 
Update iconsTGG

SPH: (tick)

WCS:(tick)

TGG: (tick)

SPH: (tick)

WCS:(tick)

TGG: (tick)
(tick)

If there are any updates, additions, deletions.

Including GMATIcon for Welcome Page

Update gmat_startup_file.txtWCS  
  • Update formatting, comments
  • Add any additional plugins
  • Switch to release configuration (comment out alpha plugins)

Switch to release configuration in script test system

SPH  
  • Create new rundef.R2015aInternal.template.m and rundef.R2015aPublic.template.m.
  • Switch autorun.m to use appropriate one.
Complete visual updates(All)SPH: (tick)
RQ:
(tick)
  

For Code Freeze (Aug.

...

8

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

...

TaskWhoStatus

Internal

Status

Notes
Update EOP files (EOP, PCK, TK)
WCS (tick) (tick)Update eopc04_08.62-now and run smoke tests and SPICE .bpc file (SHOULD be moved to App Freeze)
Update tai-utc file & naif LSKWCS (tick) (tick)Update gmat_startup_file with new LSK

Update Info.plist and RunGMAT as needed;

also, RunGmat.m if needed

WCS (tick) (tick)Need copyright and release number/name at least; Update to default MATLAB version in test system file
Update files w/ updated legal statementLOJ  N/A N/A
  • Readme file
  • Source code files
Update license textLOJ  N/AN/A

Update application/License.txt file.  Nothing to do since license did not change.

Update copyright and code headersLOJ N/A N/A

This tool makes adding paragraphs and changing headers simple.  http://sourceforge.net/projects/findandreplace/

As of R2015a these directories have files that need updating.

public\src (hpp, cpp)

public\plugin (hpp, cpp)

public\application\matlab\gmat_keyword (.m)

internal\code (hpp,cpp)

Final bug fixes(All) (tick)
 
(tick)
 
Mark all open bugs as Affects: current releaseSPHSPH:   (tick) 
Set release name in codeLOJLOJ (tick)Change GmatGlobals to use formal release name

...

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 (

...

Oct.

...

6

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.

...

TaskWhoStatusNotes
Update README.txtSPH 

SPH:(tick)

WCS:(tick)

DJC:


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

DJC: (tick)

SPH:  (tick)



  • Update watermark: "Draft for Release R2015aR2016a"
  • 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 R2016b scripts compatible with this release.
Update Release Notes
SPH (tick) 
Update screenshots in User Guide
(Feature leads)

 

SPH: (tick)

RQ: (tick)

DSQDSC

 
Test User Guide instructions & code(Feature leads)

RQ: (tick)

DSQDSC:  

SPH:  (tick)

  • Tutorials
  • Common Tasks
  • script snippets
  • reference page examples

SPH:  only tested features that changed for which I was FDE

Update Windows installer packageJJKPTGG  (tick) 
Update links in GMAT.ini

TGG

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

Testing of Release Candidate 1 (

...

Oct.

...

7-

...

14 )

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

...

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

Stage Release (

...

Oct 20)

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

 

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.
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.)
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
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
Upload source bundle to SourceForgeSPH (tick)
  1. Move the zip file to SF
  2. Mark as "staged"
  3. Download the upload and check it
Upload data bundle to SourceForgeSPH  (tick)
  1. Move the zip file to SF
  2. Mark as "staged"
  3. Download the upload and check it
Upload Windows installer to SourceForgeSPH  (tick)
Download, install, and run after uploading.
Upload Windows zip files to SourceForgeSPH (tick) Download and run after uploading.
Post README.rst.txt on SourceForgeSPH  (tick)
(tick) 
Update for new release
Upload docs to documentation siteSPH (tick)
  1. Upload using SSH to http://gmat.sourceforge.net/docs/
  2. Update HTML with new section
  3. Move "latest" pointer to new folder

SEE NOTES IN SECTION BELOW

Fixed "latest download" to point to new exe.SPH(tick) See instructions here: http://stackoverflow.com/questions/6777327/how-to-manually-set-the-default-download-file-in-a-sourceforge-project
Post internal & public release files to MESA networkSPH (tick)  

Branch and tag repositories

DJC 
Upload source to Git repo (tick) 

Upload src

Change new branch to be active branch (what is checked out by default)

Make SourceForge repository backupSPH (tick)

Follow SourceForge's instructions.Perform the

backup on the Linode server and download the resultant .zip file, since the local network blocks rsync.Here is the Rsync command for us:

    rsync -av git.code.sf.net::p/gmat/git.git .

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

Release Day (

...

Oct.21)

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

TaskWhoStatusNotes

Make files visible on SourceForge

JJKP (tick)
07/21: Made visible at time of posting, as "soft" release.
Send out release announcementSPH 
  • Mention GSFC in the announcement
  • Don't include large attachments.
Post release announcement on SourceForgeSPH* (tick)
 
Post release announcement on GMAT BlogJJKP  
Mark as released in JIRASPH (tick)
 
Migrate code to SourceForge repositoryJJKP Do we migrate to git at the same time?

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

...

Please add your notes to the R2015a R2016a Lessons Learned document.

Compatibility changes

See Writing Release Notes

Creating an RC

  1. Create the build
    1. Log into gs580w-gmat-t4 as "gsfc580gmatbuild". 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 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 a README.txt file there that explains things.
    2. Open a MinGW, MSYS2, or Cygwin shell in this directory.
    3. 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 and gmat-public.
    4. Run the following commands to add the User Guide cover. This requires sejda-console.

      Code Block
      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
       
    5. 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#"'.
    6. Copy the four package files to the network: \\mesa-file\595\GMAT\Builds\windows\VS2013_build_32\R2015a
    7. 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.

...