Jetpack/Release Process: Difference between revisions

Jump to navigation Jump to search
 
(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

Navigation menu