This page is used to track the process and progress of the R2015a release.
Role | Assignee | Authority/Responsibility |
---|---|---|
Release Manager | MES | "owns" release, initiates process, creates tracking page, sends daily status updates, tracks issues to completion, makes sure everyone gets their stuff done, brings decisions to CCB/team, maintains tracking page, collects lessons learned, documents process improvements for next release. Must be reachable and preferably in the office during critical stages like creating and testing RCs. |
Build Manager | TDN: Windows WCS: Mac DJC: Linux | controls build system, creates RCs, sends RC availability announcements. Must be reachable and preferably in the office during critical stages like creating and testing RCs. |
Test Manager | GUI: TR Script: SPH | control GUI/script testing for each RC. Must be reachable and preferably in the office during critical stages like creating and testing RCs. |
This is a list of all risks (opened and closed) related to smooth release of R2015a.
Owner | Status | Description | Resolution |
---|---|---|---|
DSC | Open | Batch Estimator may need inner loop editing for LRO. | Investigating inner loop and a "freeze" criteria similar to GEODYN |
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. |
These are long-lead early tasks that can be completed before the detailed release cycle.
Use "(/)
" for the checkmark () and "(x)" for the cross ()
Task | Who | Status | Notes |
---|---|---|---|
Update sample scripts | DSC | Needed by App Freeze.
| |
Write draft Release Notes | SPH | Needed by App Freeze. | |
Update standard descriptive text | SPH | Needed by App Freeze. Will be used in User Guide, websites, release announcement. | |
Update version number in User Guide cover | SPH | Needed by App Freeze. Contact Katy Gammage or Mary Hrybyk-Keith to update cover page. Next time: integrate sejda-console to do this automatically. | |
Get updated legal statement/license | SPH | In Progress | Needed by Code Freeze. |
Put in order for additional icons | SPH | (if necessary) Needed by Visual Freeze. | |
Update info on public-facing websites | TGG | 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 contacts | SPH | Needed by Release Day. Located here. | |
Obtain Release Approvals | SPH | In Progress | Needed by release day. |
Feature complete means that all planned features are implemented in the system and ready for final QA.
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 () and "(x)" for the cross ()
Task | Who | Status | Notes |
---|---|---|---|
Verify that all known bugs are checked into JIRA | (All) | TBS | |
Complete all JIRA verifications | (All) |
| Preform independent verification that bug fixes address issue and if necessary create test. |
Test Freeze wrap-up tasks | DJC, SPH, JJKP, RQ | See here: http://li394-117.members.linode.com:8090/display/GW/Engineering+Activities | |
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) | DSC: SPH: | This is new this year! |
Perform Static Analysis | WCS SPH/MES |
| Run VS analysis tool to identify possible issues |
Run Dynamic Analysis tool or other tool that checks for memory leaks |
Visual Freeze finalizes all graphical changes to the software, so that screenshots, documentation, and TestComplete can be updated.
Use "(/)
" for the checkmark () and "(x)" for the cross ()
Task | Who | Status | Notes |
---|---|---|---|
Update About panel | SPH |
The code is located in \src\gui\app Note that the version number is set in GmatGlobal.cpp. | |
Update splash screen | SPH | WCS: will be delivered to us on Friday |
Move to App Freeze. |
Update icons | N/A | N/A | If there are any updates, additions, deletions. Including GMATIcon for Welcome Page |
Update gmat_startup_file.txt | WCS | l |
Make sure to update both internal and public versions and any platform specific versions. |
Complete visual updates | (All) | Move to App Freeze. |
Code Freeze is a freeze on the software itself before final testing.
Use "(/)
" for the checkmark () and "(x)" for the cross ()
Task | Who | Status | Internal Status | Notes |
---|---|---|---|---|
Update data files | WCS | SPH: Updated the Schatten file, that is manual. Tested locally. WCS: Waiting on Mac tests (MES) DJC: | Update Go to bin folder in the test system and run RunDataFileTests.m Without running preparegmat(). | |
Update Info.plist and RunGMAT as needed; and RunGmat.m (test system) if needed | WCS | WCS: hoping someone else can review latest mods? DJC: Looks good. Minor comment sent to WCS. | Need copyright and release number/name at least; Update to default MATLAB version in test system file | |
Address issues in Static Analysis results | WCS/MES | |||
Update license text | SPH | Nothing to do for R2018a | Update | |
Update copyright and code headers w/ legal statement | SPH | | | This tool makes adding paragraphs and changing headers simple. http://sourceforge.net/projects/findandreplace/ As of R2018a these directories have files that need updating. public\src (hpp, cpp) public\plugin (hpp, cpp) public\application\matlab\ internal\code (hpp,cpp) we have missed console code... find path and add it here. Readme file
For R2018a, replace this: // Copyright (c) 2002 - 2017 with this // Copyright (c) 2002 - 2018 |
Final bug fixes | (All) | | ||
Mark all open bugs as Affects: current release | SPH | in JIRA, mark all open tickets as affects the current release | ||
Set release name in code | WCS | Change GmatGlobals to use formal release name | ||
Update version number in Cmakelists | DJC |
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 () and "(x)" for the cross ()
Task | Who | Status | Notes |
---|---|---|---|
Update README.txt | SPH |
| Update any install and run instructions. |
Update extras folder | SPH | | Notepad++ syntax coloring file |
Update PDF files in docs folder | SPH/DJC | DJC: SPH:
|
|
Gather list of compatibility changes since last release | SPH |
| |
Update Release Notes | SPH | | |
Update screenshots in User Guide | (Feature leads) | SPH: DSC: | |
Test User Guide instructions & code | (Feature leads) | DSC: SPH: |
|
Update Windows installer package | DSC | Ongoing | |
Update links in GMAT.ini | SPH | |
This will cause some tests to fail because we update the location of the new user guide URL, before that URL is active (activated after staging). |
Update link tests in TestComplete | TR |
|
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 () and "(x)" for the cross ()
Task | Who | Status | Notes |
---|---|---|---|
Update Release Notes | SPH | RC1: RC2: | Next time: this should probably be "Update Release Notes" to add outstanding bugs, etc. – title changed 12/18/17 - MES |
Build Windows installer | DSC | RC1: RC2: | Version string: R2015a-rc# Next time: build manager should do this |
Bundle Windows zip | DSC | RC1: RC2: | Version string: R2015a-rc# Next time: build manager should do this |
Run TestComplete smoke tests | TR | RC1: RC2: | These are tests on the packaged versions of GMAT: the installer and the zip bundle. |
Run TestComplete system test missions | TR | RC1: RC2: | These are tests on the packaged versions of GMAT: the installer and the zip bundle. |
Run script test system | SPH | RC1: RC2: | 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 scripts | DSC | RC1: RC2: | 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 tests | TR | RC final: | (For final RC only) |
|
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 () and "(x)" for the cross ()
Task | Who | Status | Notes |
---|---|---|---|
Tag All Repos | DJC | 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* |
| |
Bundle data | DJC* |
| |
Upload source bundle to SourceForge | SPH |
| |
Upload data bundle to SourceForge | SPH | |
|
Upload Windows installer to SourceForge | SPH | | Download, install, and run after uploading. |
Upload zip files to SourceForge | SPH | | Download and run after uploading. |
Post README.rst.txt on SourceForge | SPH | | Update for new release |
Upload docs to documentation site | SPH |
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 network | SPH | | |
Upload source to SourceForge Git repo | Upload public repo to sourceforge Change new branch to be active branch (what is checked out by default) | ||
Update the doxygen data | |||
Make SourceForge repository backup | SPH | Follow SourceForge's instructions. 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
Use "(/)
" for the checkmark () and "(x)" for the cross ()
Task | Who | Status | Notes |
---|---|---|---|
Make files visible on SourceForge | JJKP | 07/21: Made visible at time of posting, as "soft" release. | |
Send out release announcement | SPH | |
|
Post release announcement on SourceForge | SPH* | | |
Post release announcement on GMAT Blog | JJKP | Blog won't load as of 7/21/2017... just get spinning wheel. Waited for 5-10 minutes several times. -SPH | |
Mark as released in JIRA | SPH |
This needs to be assigned to a different person; DJC cannot post to SF
Use "(/)
" for the checkmark ().
Task | Who | Status | Notes |
---|---|---|---|
Party! | (All) | Party is March 8, lunch time | |
Conduct postmortem review | SPH | This includes gathering feedback, holding the postmortem meeting, and documenting the results. | |
Submit GSFC Metrics Summary | WCS | N/A | 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 | SPH | Per Hughes: The NTR cannot be written until all features are finalized and it is too early to do that. |
Please add your notes to the R2017a Lessons Learned document.
gs580w-gmat-t4
as "gsfc580gmatbuild
". The credentials are on the network drive, in the Infrastructure
folder.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.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
.Run the following commands to add the User Guide cover. This requires sejda-console.
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 |
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#"
'.\\mesa-file\595\GMAT\Builds\windows\VS2013_build_32\R2015a
make clean
".Note: To make the final release bundles, you can't just rename the files to take off the "-rc#" portion. You need to recreate the bundles using this command: make VERSION="R2015a"
In the steps below, "#
" is the RC number and "<config>
" is "internal
" or "public
".
gs580w-gmat-t4
as "gsfc580gmattest
". The credentials are on the network drive, in the Infrastructure
folder.C:\Users\gsfc580gmattest\Documents\GmatTest
)>> cd C:\Users\gsfc580gmattest\Documents\GmatTest\bin
#
with RC number and <config>
with "internal
" or "public
"):>> diary('..\log\R2015a-rc#-<config>.log')
>> preparegmat('C:\Path\To\GMAT')
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:RunDef.Build
: "R2015a-rc#-<config>
"RunDef.GmatExe
: path to installed GMAT.exe
RunDef.RegressionBuild
: last build date if testing RC1 (look in GmatTest\output
for latest folder, such as 2013-07-31
), otherwise, "R2015a-rc#-<config>
"gmattest <name of rundef.m>
(e.g. autorundef.R2015aRc1Internal.m
)
diary('off')
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
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