Jetpack/Release Process: Difference between revisions

 
(24 intermediate revisions by 2 users not shown)
Line 7: Line 7:
== Clone Checklist ==
== Clone Checklist ==


Copy this checklist to a new wiki page at Jetpack/SDK/(VERSION)/Release_Checklist (f.e. [[Jetpack/SDK/1.2/Release_Checklist]]), and choose people to fill the Release Manager (RM), Release Engineer (RE), Technical Lead (TL), and Documentation Lead (DL) roles. Use the checklist to track the status of the release.
Click on 'Create' ( below ) to copy this checklist to a new wiki page at Jetpack/SDK/Release_Checklist/VERSION (f.e. [[Jetpack/SDK/Release_Checklist/1.10]]), and choose people to fill the Release Manager (RM), Release Engineer (RE), Technical Lead (TL), and Documentation Lead (DL) roles. Use the checklist to track the status of the release.


<createbox>
<createbox>
Line 14: Line 14:
preload=Jetpack/SDK/TEMPLATE/Release_Checklist
preload=Jetpack/SDK/TEMPLATE/Release_Checklist
default=1.xx
default=1.xx
prefix=Jetpack/Weekly_Meeting/
prefix=Jetpack/SDK/Release_Checklist/
</createbox>
</createbox>


{| class="fullwidth-table"
The template for this form is [[Jetpack/SDK/TEMPLATE/Release_Checklist|here]].
|- style="background:#efefef"
 
| '''Task'''
==Past SDK Release checklists==
| '''Owner'''
 
| '''Status'''
{{Special:PrefixIndex/Jetpack/SDK/Release_Checklist}}
|-
| 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 178: 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 410: 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 421: Line 328:


Step 4: The changes are pushed with the regular Thursday AMO push.
Step 4: The changes are pushed with the regular Thursday AMO push.
Step 5: Once the AMO push is done, generate an XPI using the release candidate and validate it using AMO in order to verify that the validator has been updated and is working.
== File Builder bug to push build ==
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.
* 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:
git submodule add git://github.com/mozilla/addon-sdk.git lib/addon-sdk-(VERSION)
cd lib/addon-sdk-(VERSION)
git checkout (VERSION)
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] 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 491: 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 510: 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