Versions Compared

Key

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

...

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

JJKP: (tick)
RQ: (tick)

SPH:  (tick)

 
Complete all JIRA verifications(All)

JJKP: (tick)
RQ: (tick)

SPH:   (tick)

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

JJKP: (error)
RQ: (tick)

SPH:  (tick)

DJC: (tick)

JJKP: Need to run save mode one last time before code freeze.
Address all JIRA tickets awaiting feedback(All)

JJKP: (tick)
RQ: (tick)

SPH: (tick)

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

JJKP: (error)
RQ: (tick)

SPH: (error)

This is new this year! 

...

TaskWhoStatus

Internal

Status

Notes
Update EOP filesWCS(tick)(tick)Update eopc04_08.62-now and run smoke tests and SPICE .bpc file
Update tai-utc file & naif LSKWCS(tick)(tick)Update gmat_startup_file with new LSK
Update Info.plist and RunGMAT as neededWCS(tick)(tick)Need copyright and release number/name at least
Update files w/ updated legal statementLOJ (tick) (tick)
  • Readme file
  • Source code files
Update license textLOJ(tick)(tick)

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

Update copyright and code headersLOJ (tick) (tick)

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)  
Mark all open bugs as Affects: current releaseSPHSPH:  (tick)  

...

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

DJC: (tick)

SPH:  (tick)

  • Update watermark: "Draft for Release R2015a"
  • 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
SPH (tick) 
Update screenshots in User Guide
(Feature leads)

JJKP: 

SPH: (tick)

RQ: (tick)

DSQ: 

 
Test User Guide instructions & code(Feature leads)

RQ: (tick)

DSQ: 

JJKP: 

SPH:  (tick)

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

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

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

JJKP

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

...

TaskWhoStatusNotes
Update README.txtJJKP

RC1: 

RC2-RC5: N/A

Next time: this should probably be "Update Release Notes" to add outstanding bugs, etc.

Build Windows installer

JJKP (backup: TGG)

RC1: 

RC2: 

RC2-2: 

RC3:  (tick)

RC4: 

RC5: 

Version string: R2015a-rc#

Next time: build manager should do this

Bundle Windows zip

JJKP (backup: TGG)

RC1: 

RC2: 

RC2-2: 

RC3:  (tick)

RC4: 

RC5: 

Version string: R2015a-rc#

Next time: build manager should do this

Run TestComplete smoke testsTRRC1RC3 (tick)These are tests on the packaged versions of GMAT: the installer and the zip bundle.
Run TestComplete system test missionsTRRC1RC3:   (tick)These are tests on the packaged versions of GMAT: the installer and the zip bundle.
Run script test systemJJKP (backup: TGG)

RC1: 

RC2: 

RC2-2: 

RC3:  (tick)

RC4: 

RC5: 

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

RC2RC3:   (tick)

RC4: 

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 configuraiton issues are not caught by running on machines used for development.
Run TestComplete full regression testsTR

RC4RC3:  (tick)

RC5RC4:

(For final RC only)
Info
titleNotes
  • While this cycle is ongoing is a good time to do wiki updates and cleanup.

...

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

SEE NOTES IN SECTION BELOW

Fixed "latest download" to point to new exe.SPH 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 networkJJKPSPH (tick) 2014-05-22: posted internal files only; public files are in build\VS2010_build\R2015a

Branch Branch and tag repositories

DJC (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.)
Make SourceForge repository backupJJKPSPH 

Follow SourceForge's instructions.

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

...

  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.

...

  1. Log into gs580w-gmat-t4 as "gsfc580gmattest". 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\gsfc580gmattest\Documents\GmatTest)
  6. In MATLAB (64-bit):
    1. Run:
      >> cd C:\Users\gsfc580gmattest\Documents\GmatTest\bin
    2. Run (replace # with RC number and <config> with "internal" or "public"):
      >> diary('..\log\R2015a-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.R2015aInternal.template.m or autorundef.R2015aPublic.template.m) to a new name (such as autorundef.R2015aRc1Internal.m) and fill in the values:
      1. RunDef.Build: "R2015a-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, "R2015a-rc#-<config>"
    5. Run:
      >> gmattest <name of rundef.m> (e.g. autorundef.R2015aRc1Internal.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\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

  1. Add a new folder for the release under the gmat\htdocs\docs folder
  2. Update contents of the new release folder with files from new release
  3. Update the gmat\htdocs\docs\index.html to include new folder and to point to the new latest folder.

Image Added