Jetpack/Release Process: Difference between revisions

 
(14 intermediate revisions by 2 users not shown)
Line 16: Line 16:
prefix=Jetpack/SDK/Release_Checklist/
prefix=Jetpack/SDK/Release_Checklist/
</createbox>
</createbox>
The template for this form is [[Jetpack/SDK/TEMPLATE/Release_Checklist|here]].


==Past SDK Release checklists==
==Past SDK Release checklists==


{{Special:PrefixIndex/Jetpack/SDK/}}
{{Special:PrefixIndex/Jetpack/SDK/Release_Checklist}}
 
{| class="fullwidth-table"
|- style="background:#efefef"
| '''Task'''
| '''Owner'''
| '''Status'''
|-
| Prepare
|
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Clone Checklist
| RM
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Merge Master to Stabilization
| RE
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; File Tracking Bug
| RM
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Notify Relevant Parties
|
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Community
| RM
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Product Planning
| RM
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PR
| RM
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Spin Test Builds
| RE
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Stabilize Codebase
| TL
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Draft Release Announcement
| RM
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Write Release Notes
| DL
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Choose Candidate
| RM
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Push Docs
| DL
|
|-
| Release
|
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Bless Candidate Build
| RE
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Update AMO Validator
| RE
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; File Builder bug to push build
| RE
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Update Latest Builds Redirect
| RE
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Update Latest Docs Redirect
| DL
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Publish Release Announcement
| RM
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Merge Stabilization to Release
| RE
|
|-
| &nbsp;&nbsp;&nbsp;&nbsp; Notify Community
| RM
|
|-
| Bask
| RM
|
|-
| Review
| RM
|
|}


== Merge Master to Stabilization ==
== Merge Master to Stabilization ==
Line 182: Line 77:
== File Tracking Bug ==
== File Tracking Bug ==


File a bug to track the release using [https://bugzilla.mozilla.org/enter_bug.cgi?assigned_to=dcm%40mozilla.com&bug_file_loc=https%3A%2F%2Fwiki.mozilla.org%2FJetpack%2FSDK%2FX.X%2FRelease_Checklist&bug_status=ASSIGNED&comment=We%20should%20release%20Add-on%20SDK%20X.X.%0D%0A%0D%0AUse%20this%20bug%20to%20track%20release%20blockers%20and%20the%20release%20checklist%20%3Chttps%3A%2F%2Fwiki.mozilla.org%2FJetpack%2FSDK%2FX.X%2FRelease_Checklist%3E%20to%20track%20release%20tasks.%0D%0A&op_sys=All&product=Add-on%20SDK&rep_platform=All&short_desc=release%20Add-on%20SDK%20X.X this release tracking bug template].
File a bug to track the release using [https://bugzilla.mozilla.org/enter_bug.cgi?assigned_to=jgriffiths@mozilla.com&bug_file_loc=https://wiki.mozilla.org/Jetpack/SDK/Release_Checklist/X.X&bug_status=ASSIGNED&comment=We%20should%20release%20Add-on%20SDK%20X.X.%0D%0A%0D%0AUse%20this%20bug%20to%20track%20release%20blockers%20and%20the%20release%20checklist%20%3Chttps%3A%2F%2Fwiki.mozilla.org%2FJetpack%2FSDK%2FRelease_Checklist/X.X%3E%20to%20track%20release%20tasks.%0D%0A&op_sys=All&product=Add-on%20SDK&rep_platform=All&short_desc=release%20Add-on%20SDK%20X.X this release tracking bug template].


== Notify Relevant Parties ==
== Notify Relevant Parties ==
Line 414: Line 309:
./generate_jp_whitelist.sh
./generate_jp_whitelist.sh
cd ../
cd ../
</pre>
Make extra-super sure the pickle file can be git add'ed. If it doesn't show up:
<pre>
rm validator/testcases/jetpack_data.txt.pickle
nosetests</pre>
Then go ahead:
<pre>
git add validator/testcases/jetpack_data.txt
git add validator/testcases/jetpack_data.txt
git add validator/testcases/jetpack_data.txt.pickle
git commit -m "Updated amo-validator with hashes for SDK version x.x.x"
git commit -m "Updated amo-validator with hashes for SDK version x.x.x"
git push origin master</pre>
git push origin master</pre>
Line 432: Line 335:
Once the Build has been blessed, we need to ensure that it is made available to Builder users as well. The process seems to be:
Once the Build has been blessed, we need to ensure that it is made available to Builder users as well. The process seems to be:


# File a bug [https://bugzilla.mozilla.org/enter_bug.cgi?product=addons.mozilla.org|against AMO] with the 'Add-on Builder' component, to add the new version to production.
* File a bug [https://bugzilla.mozilla.org/enter_bug.cgi?product=addons.mozilla.org|against AMO] with the 'Add-on Builder' component, to add the new version to production.
# in a branch of your forked repo for Flightdeck, make changes using [https://github.com/mozilla/FlightDeck/pull/156|pull request 156] as a template and then issue a pull request against Flightdeck.
* In a branch of your forked repo for Flightdeck, run these commands to add the new version as a submodule to the FlightDeck repo, then issue a pull request:
# ensure that seanmonstr / zalun / arron accepts the pull request and tags it. IT can then take this tag and complete the deployment.
git submodule add git://github.com/mozilla/addon-sdk.git lib/addon-sdk-(VERSION)
# get IT* to run the 'add sdk'[1] command on -dev, make sure things work. Also, stephend should be pinged to ensure tests pass on -dev with the new revision.
cd lib/addon-sdk-(VERSION)
# Schedule a push with IT* and push the site
git checkout (VERSION)
# Run the add sdk command* in production
cd ../..
git add lib/addon-sdk-(VERSION)
#Don't forget to update LOWEST_APPROVED_SDK and TEST_SDK in settings.py for the new SDK version!
git add settings.py
* ensure that seanmonstr / zalun / arron accepts the pull request and tags it. IT can then take this tag and complete the deployment.
* get IT[1] to run the 'add sdk' command on -dev, make sure things work. Also, stephend should be pinged to ensure tests pass on -dev with the new revision:
./manage.py add_core_lib addon-sdk-1.x --useversion=1.x
* Schedule a push with IT[1] and push the site
* Run the 'add sdk' command[1] in production


[1] `./manage.py add_core_lib addon-sdk-1.x --useversion=1.x`
[1] It seems to help to assign a bug to IT (oremj specifically?) to get things done on IT's side, including a description of what needs to be done.
 
* It seems to help to assign a bug to IT (oremj specifically?) to get things done on IT's side, including a description of what needs to be done.


== Update Latest Builds Redirect ==
== Update Latest Builds Redirect ==
Line 512: Line 421:
* git tag NEWRELEASE
* git tag NEWRELEASE
* use 'git archive' to create tarballs
* use 'git archive' to create tarballs
* upload tarballs
* upload tarballs (644 permissions!)
* git checkout stabilization
* git checkout stabilization
* git merge release (this may require conflict-resolution)
* git merge release (this may require conflict-resolution)
Line 531: Line 440:
* git merge --ff-only hotfix
* git merge --ff-only hotfix
* git tag NEWRELEASE
* git tag NEWRELEASE
* make+upload tarballs
* make+upload tarballs (644 permissions!)
* git checkout stabilization
* git checkout stabilization
* git merge official/release (and resolve conflicts)
* git merge official/release (and resolve conflicts)
* git push official NEWRELEASE release stabilization
* git push official NEWRELEASE release stabilization
* git branch -D hotfix
* git branch -D hotfix
After you make the hotfix, you'll need to get the hotfix pushed to Builder and update the AMO Validator, as detailed further up this page.
Confirmed users
396

edits