Make changes in dev branch.
Create jobs and associate them with changes in the dev branch. We don't need a job for every change. But create jobs to cover the essentials of what changed. Folks who want the gory details can look at changelists, but folks looking only at jobs should get a fair, albeit summarized, understanding of what's new in this release, and if appropriate, what to be aware of when taking this release. The first line of the job description will be incrporated into the release notes, so try to make the first line a good headline for the job.
Ensure the dev branch is updated from main, in case there were any hot fixes made directly in main. Check like so:
<PRE> $ p4 merge -n -b perforce_software-sdp-dev All revision(s) already integrated. </PRE>
If there is anything to merge, take care of it, and file new jobs as needed.
Load the SDP tools environment.
Change to the dir in your SDP workspace corresponding to //guest/perforce_software/sdp/tools
, and source the env.sh
file there.
Run the rel_notes.sh
script to update the Version and Release Notes files in the dev branch. If the jobs listed aren't complete enough, revert the files Version and Release Notes files, and go back to step 2.
This script is interactive and requests the major version, e.g. 2016.1 (proposing as a default whatever the previous value was). It takes no command line arguments.
This script is picky. It wants your workspace to be clean, with nothing checked out in the 'dev' and 'main' branches, and that a p4 status
command reports nothing to reconcile.
WARNING: If you need to do a partial release (i.e. if you need to hold some changes back in the dev branch), be sure to remove jobs referencing files you do not intend to promote.
WARNING: If a partial release was done previously and files are now ready to be released, you'll need to add those jobs to the release notes manually. The rel_notes.sh
script leaves the Version and Release Notes files checked out in a pending changelist for you to review. Submit that change manually when ready.
Push the files to main.
Change to the 'dev' branch directory in your workspace. Run mdcu.sh
(Merge Down/Copy Up) script, which takes no arguments and is not interactive. That script creates a pending changelist with the Copy Up main.
Massage the generated changelist description if desired. Revert any files that are not ready to be released from the main branch. WARNING: Be sure the list of jobs is correct; if you need to do a partial release, manually revert any files you don't want to be released from the main branch. Then submit the generated changelist manually.
After running this script, run package_downloads.sh
. This puts tar and zip files into the downloads folder. Submit the generated changelist manually.
SDP Release Process Overview --- 1. Make changes in dev branch. 2. Create jobs and associate them with changes in the dev branch. We don't need a job for every change. But create jobs to cover the essentials of what changed. Folks who want the gory details can look at changelists, but folks looking only at jobs should get a fair, albeit summarized, understanding of what's new in this release, and if appropriate, what to be aware of when taking this release. The first line of the job description will be incrporated into the release notes, so try to make the first line a good headline for the job. 3. Ensure the dev branch is updated from main, in case there were any hot fixes made directly in main. Check like so: <PRE> $ p4 merge -n -b perforce_software-sdp-dev All revision(s) already integrated. </PRE> If there is anything to merge, take care of it, and file new jobs as needed. 4. Load the SDP tools environment. Change to the dir in your SDP workspace corresponding to `//guest/perforce_software/sdp/tools`, and source the `env.sh` file there. 5. Run the `rel_notes.sh` script to update the Version and Release Notes files in the dev branch. If the jobs listed aren't complete enough, revert the files Version and Release Notes files, and go back to step 2. 6. This script is interactive and requests the major version, e.g. 2016.1 (proposing as a default whatever the previous value was). It takes no command line arguments. This script is picky. It wants your workspace to be clean, with nothing checked out in the 'dev' and 'main' branches, and that a `p4 status` command reports nothing to reconcile. *WARNING*: If you need to do a partial release (i.e. if you need to hold some changes back in the dev branch), be sure to remove jobs referencing files you do not intend to promote. *WARNING*: If a partial release was done previously and files are now ready to be released, you'll need to add those jobs to the release notes manually. The `rel_notes.sh` script leaves the Version and Release Notes files checked out in a pending changelist for you to review. Submit that change manually when ready. 7. Push the files to main. Change to the 'dev' branch directory in your workspace. Run `mdcu.sh` (Merge Down/Copy Up) script, which takes no arguments and is not interactive. That script creates a pending changelist with the Copy Up main. Massage the generated changelist description if desired. Revert any files that are not ready to be released from the main branch. WARNING: Be sure the list of jobs is correct; if you need to do a partial release, manually revert any files you don't want to be released from the main branch. Then submit the generated changelist manually. 8. After running this script, run `package_downloads.sh`. This puts tar and zip files into the downloads folder. Submit the generated changelist manually.
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#34 | 31376 | C. Thomas Tyler |
Updated release process overview: * Added at least a mention of all 3 regression test suites. * Added 'Output' to describe the 'Why?' behind each step in the process. * Added step for doing the release in JIRA. * Added more JIRA detail. |
||
#33 | 31371 | C. Thomas Tyler | Updated release process notes. | ||
#32 | 31198 | Will Kreitzmann |
Modified through swarm. #review-31199 |
||
#31 | 31196 | Will Kreitzmann |
Modified through swarm. #review-31197 |
||
#30 | 31194 | Will Kreitzmann |
Modified through swarm. #review-31195 |
||
#29 | 31191 | Will Kreitzmann |
Modified through swarm. #review-31192 |
||
#28 | 31189 | Will Kreitzmann |
Modified through swarm. #review-31190 |
||
#27 | 31081 | C. Thomas Tyler | Updpated process notes during release process. | ||
#26 | 30925 | C. Thomas Tyler | Added missing 'p4 rec' command in release process doc. | ||
#25 | 30908 | C. Thomas Tyler | Tweaks to release process notes. | ||
#24 | 30387 | C. Thomas Tyler | Updated SDP release process notes. | ||
#23 | 30358 | C. Thomas Tyler | Cleaned up notes about updating regression test suite for major versions. | ||
#22 | 30338 | C. Thomas Tyler |
Updated release process overview to account for changes needed to P4*.json release list files for each major release. |
||
#21 | 30293 | C. Thomas Tyler | Added new steps to udpate SDP Version file. | ||
#20 | 30111 | C. Thomas Tyler | Accounted for move of gen_script_man_pages.sh to SDP package tree. | ||
#19 | 30005 | C. Thomas Tyler | Refined slightly. | ||
#18 | 29835 | C. Thomas Tyler |
Updated Release Process to account for migration to JIRA. Removed scripts made obsolete by this change to avoid confusion. |
||
#17 | 29234 | C. Thomas Tyler |
Updated release process doc with note about updating test suite to use latest SDP for major releases, and added details. Fixed order bug. |
||
#16 | 29202 | C. Thomas Tyler | Fixed doc typo. | ||
#15 | 28653 | C. Thomas Tyler | Updated SDP release process docs. | ||
#14 | 28615 | C. Thomas Tyler | Documented new required steps in the SDP Relase Process. | ||
#13 | 28107 | C. Thomas Tyler | Replaced PRE tags with tripple-backticks for proper rendering. | ||
#12 | 28106 | C. Thomas Tyler | Text tweaks. | ||
#11 | 28105 | C. Thomas Tyler | Updated SDP Release Process. | ||
#10 | 27842 | C. Thomas Tyler | Minor updates to improve clarity of SDP release process overview doc. | ||
#9 | 27525 | C. Thomas Tyler | Tweaked notes to account for running on Mac, etc. | ||
#8 | 27465 | C. Thomas Tyler | Updated release notes. | ||
#7 | 27461 | C. Thomas Tyler | Refined AsciiDoc generated doc update part of release process. | ||
#6 | 27323 | C. Thomas Tyler | Tweaked release process doc. | ||
#5 | 27314 | C. Thomas Tyler | Refined release process overview notes. | ||
#4 | 27115 | C. Thomas Tyler |
Updated SDP release process doc, adding info on how to ensure generated script docs are incorporated in AsciiDoc files. Adjusted generated release notes file from .txt to .adoc format. Updated rel_notes.sh to add bulleted list items with links to each fixed job. Updated old release notes content to use new format (using disposable link conversion scripts). |
||
#3 | 24397 | C. Thomas Tyler | Tweaked SDP release process overview notes. | ||
#2 | 21524 | C. Thomas Tyler | Updated release process overview. | ||
#1 | 20479 | C. Thomas Tyler |
Added release process overview script. Overhauled release notes helper script. Fixed bug that listed a job in the release notes for the current release that was associated with the last changelist of the prior release. Updated more of the manual steps in the SDP release process. |