Release:Release Automation on Mercurial:Updates through Shipping: Difference between revisions

bm70 was decomm'd
(bm70 was decomm'd)
 
(20 intermediate revisions by 8 users not shown)
Line 21: Line 21:
* Go to the "Releases" section.
* Go to the "Releases" section.
* Find the release you're working on by filtering.
* Find the release you're working on by filtering.
* Click "View Data".
* Click "Download".
* Paste the data into a local file.  
* Edit the local file and add the following at the top level of the blob (replace the VERSION variable with the version of the release, do NOT replace %LOCALE% or %OLD_VERSION% - those are substituted by Balrog/Firefox):
* Edit the local file and add the following at the top level of the blob (replace $VERSION with the version of the release, do NOT replace %LOCALE% or %OLD_VERSION% - those are substituted by Balrog/Firefox):
  "openURL": "https://www.mozilla.org/%LOCALE%/firefox/$MANUALLY_REPLACE_THIS_VARIABLE_CALLED_VERSION/whatsnew/?oldversion=%OLD_VERSION%",
  "openURL": "https://www.mozilla.org/%LOCALE%/firefox/$VERSION/whatsnew/?oldversion=%OLD_VERSION%",
  "actions": "showURL",
  "actions": "showURL",
* Change the "name" in the blob to something unique (usually by appending "-whatsnew" to it).
* Change the "name" in the blob to something unique (usually by appending "-whatsnew" to it).
* Back in the Admin UI, click "Add a new release".
* Back in the Admin UI, click "Add a new release".
* The name should match the one you just edited in the blob, version should match appVersion.
* The name should match the one you just edited in the blob, product should be Firefox.
* Upload the new blob.
* Upload the new blob.


Line 76: Line 75:


= Check Permissions =
= Check Permissions =
**only applicable for non release promotion releases**
This builder:
This builder:
# Checks if the FTP directories and files have proper permissions and modes
# Checks if the FTP directories and files have proper permissions and modes
Line 85: Line 85:


= Antivirus check =
= Antivirus check =
 
**only applicable for non release promotion releases. release promotion bundles antivirus within beetmover tasks**
This builder:
This builder:
# Runs antivirus locally ''← report these results in build notes''
# Runs antivirus locally ''← report these results in build notes''
Line 99: Line 99:


= Push to mirrors =
= Push to mirrors =
'''''only applicable for non release promotion releases'''''
For GA release builds, this step is not run automatically, and must be manually triggered (below) after receiving the go from RelMgmt. For all other releases, this step is run automatically.
For GA release builds, this step is not run automatically, and must be manually triggered (below) after receiving the go from RelMgmt. For all other releases, this step is run automatically.


Code: [http://hg.mozilla.org/build/tools/file/tip/scripts/release/stage-tasks.py scripts/release/stage-tasks.py]


* Release
* Release
** [http://buildbot-master70.bb.releng.use1.mozilla.com:8001/builders/release-mozilla-release-firefox_push_to_mirrors Firefox Release]
** [http://buildbot-master71.bb.releng.use1.mozilla.com:8001/builders/release-comm-esr52-thunderbird_push_to_mirrors Thunderbird 52 Release]
*** prerequisites: wait for driver email subj like 'push Firefox $version $buildnum to (release-cdntest channel|cdn|mirrors)'
*** Note: antivirus and update_verify automation emails should be completed
** [http://buildbot-master70.bb.releng.use1.mozilla.com:8001/builders/release-mozilla-release-fennec_push_to_mirrors Fennec Release]
*** prerequisites: wait for driver email subj like '(Android|fennec|mobile firefox) $version $buildnum (uploaded|pushed|published) to (Google Play|play store)'
*** Note: push to mirrors step can happen after we push to play store, since we serve updates through google play and not balrog (so cdn/mirrors don't need apks).
** [http://buildbot-master70.bb.releng.use1.mozilla.com:8001/builders/release-comm-esr38-thunderbird_push_to_mirrors Thunderbird 38 Release]
** [http://buildbot-master70.bb.releng.use1.mozilla.com:8001/builders/release-comm-esr45-thunderbird_push_to_mirrors Thunderbird 45 Release]
*** prerequisites: wait for driver email subj like 'push Thunderbird $version $buildnum to (release-cdntest channel|cdn|mirrors)'
*** prerequisites: wait for driver email subj like 'push Thunderbird $version $buildnum to (release-cdntest channel|cdn|mirrors)'
*** Note: antivirus and update_verify automation emails should be completed
*** Note: update_verify automation emails should be completed
 
* ESR
** [http://buildbot-master70.bb.releng.use1.mozilla.com:8001/builders/release-mozilla-esr38-firefox_push_to_mirrors Firefox ESR38] or
** [http://buildbot-master70.bb.releng.use1.mozilla.com:8001/builders/release-mozilla-esr45-firefox_push_to_mirrors Firefox ESR45]
*** prerequisites: wait for driver email subj like 'push Firefox $version $buildnum to (esr-cdntest channel|cdn|mirrors)'
*** Note: antivirus and update_verify automation emails should be completed


This builder:
This builder:
Line 127: Line 116:


When enableAutomaticPushToMirrors is True, this is triggered automatically after the antivirus scan is done. When False, it must be manually triggered with Force Build. Step will automatically send email when complete.
When enableAutomaticPushToMirrors is True, this is triggered automatically after the antivirus scan is done. When False, it must be manually triggered with Force Build. Step will automatically send email when complete.
The code used to be in
[http://hg.mozilla.org/build/tools/file/tip/scripts/release/stage-tasks.py scripts/release/stage-tasks.py] (for historical revisions) but is now a [https://dxr.mozilla.org/mozilla-central/source/testing/mozharness/scripts/release/push-candidate-to-releases.py?q=path%3Apush-candidate-to-releases.py&redirect_type=single mozharness] script


= Final Verification =
= Final Verification =
**release promotion doesn't use ReleaseFinalVerification factory. it uses taskcluster and calls final-verification.sh directly**
Code:
Code:
* 'ReleaseFinalVerification' from [http://hg.mozilla.org/build/buildbotcustom/file/tip/process/factory.py process/factory.py]
* 'ReleaseFinalVerification' from [http://hg.mozilla.org/build/buildbotcustom/file/tip/process/factory.py process/factory.py]
Line 155: Line 150:


= Publish in Balrog =
= Publish in Balrog =
'''''only applicable for non release promotion releases'''''
== Betas/Final Releases ==
== Betas/Final Releases ==
'''These instructions cover _typical_ cases. If any special requirements have been requested (ie, whatsnew page) you may need to do different or additional things at the same time.'''<br/>
'''These instructions cover _typical_ cases. If any special requirements have been requested (ie, whatsnew page) you may need to do different or additional things at the same time.'''<br/>
Line 165: Line 163:


Example buildbot URLs for the builder:
Example buildbot URLs for the builder:
* [http://buildbot-master70.bb.releng.use1.mozilla.com:8001/builders/release-mozilla-beta-update_shipping_beta Firefox Beta (regular)]
* [http://buildbot-master71.bb.releng.use1.mozilla.com:8001/builders/release-comm-beta-update_shipping_beta Thunderbird Beta]
** note: ensure all anti-virus & update verify tasks have completed.
* [http://buildbot-master71.bb.releng.use1.mozilla.com:8001/builders/release-comm-esr52-update_shipping_release Thunderbird 52 Release]
* [http://buildbot-master70.bb.releng.use1.mozilla.com:8001/builders/release-mozilla-release-update_shipping_beta Firefox Beta (RC)]
 
** note: "what's new" page handling is not done for rc-on-beta
 
** note: ensure all anti-virus & update verify tasks have completed.
 
* [http://buildbot-master70.bb.releng.use1.mozilla.com:8001/builders/release-mozilla-release-update_shipping_release Firefox Release]
* [http://buildbot-master70.bb.releng.use1.mozilla.com:8001/builders/release-mozilla-esr38-update_shipping_esr Firefox ESR38]
* [http://buildbot-master70.bb.releng.use1.mozilla.com:8001/builders/release-mozilla-esr45-update_shipping_esr Firefox ESR45]
* [http://buildbot-master70.bb.releng.use1.mozilla.com:8001/builders/release-comm-beta-update_shipping_beta Thunderbird Beta]
* [http://buildbot-master70.bb.releng.use1.mozilla.com:8001/builders/release-comm-esr38-update_shipping_release Thunderbird 38 Release]
''Note that the master you force this on, is not necessarily the master that takes the job, watch your e-mail for completion status. Subject will be "[https://github.com/mozilla/build-buildbot-configs/blob/master/mozilla/release_templates/update_shipping_success %(releaseName)s: Updates available on %(releaseChannel)s]".''
''Note that the master you force this on, is not necessarily the master that takes the job, watch your e-mail for completion status. Subject will be "[https://github.com/mozilla/build-buildbot-configs/blob/master/mozilla/release_templates/update_shipping_success %(releaseName)s: Updates available on %(releaseChannel)s]".''


Line 218: Line 211:


= Post-release tasks =
= Post-release tasks =
Releases are considered 'shipped' when
 
* desktop - updates have been enabled, which is when the job release-$branch-update_shipping_$channel job has completed (eg release-mozilla-beta-update_shipping_beta)
'''''only applicable for non release promotion releases'''''
* android - the apks have been uploaded to the Play Store
 
The post-release tasks should be run immediately afterwards.
Thunderbird is the only type of release that is non-release-promotion. After release is live, two more tasks need to be performed: marking them as shipped and run the BB post-release builder. They should be run at the same time, after release is live.


== Mark as shipped on Ship It ==
== Mark as shipped on Ship It ==
Line 231: Line 224:
Example buildbot URLs for the builder:
Example buildbot URLs for the builder:
* Beta
* Beta
** [http://buildbot-master82.build.mozilla.org:8001/builders/release-mozilla-beta-firefox_postrelease Firefox Beta]
** [http://buildbot-master82.build.mozilla.org:8001/builders/release-mozilla-beta-fennec_postrelease Fennec Beta]
** [http://buildbot-master82.build.mozilla.org:8001/builders/release-comm-beta-thunderbird_postrelease Thunderbird Beta]
** [http://buildbot-master82.build.mozilla.org:8001/builders/release-comm-beta-thunderbird_postrelease Thunderbird Beta]


* Release
* Release
** [http://buildbot-master82.build.mozilla.org:8001/builders/release-mozilla-release-firefox_postrelease Firefox Release]
** [http://buildbot-master82.build.mozilla.org:8001/builders/release-comm-esr52-thunderbird_postrelease Thunderbird 52 Release]
** [http://buildbot-master82.build.mozilla.org:8001/builders/release-mozilla-release-fennec_postrelease Fennec Release]
** [http://buildbot-master82.build.mozilla.org:8001/builders/release-comm-esr38-thunderbird_postrelease Thunderbird 38 Release]
 
* ESR - Note - you don't need to run the esr38 post-release builders because it will overwrite the esr45 entries in bouncer.
** [http://buildbot-master82.build.mozilla.org:8001/builders/release-mozilla-esr45-firefox_postrelease Firefox ESR45]
 
''Note that the master you force this on, is not necessarily the master that takes the job, watch your e-mail for completion status. Subject will be "[https://github.com/mozilla/build-buildbot-configs/blob/master/mozilla/release_templates/default_success %(releaseName)s: completed %(stage)s]".''
''Note that the master you force this on, is not necessarily the master that takes the job, watch your e-mail for completion status. Subject will be "[https://github.com/mozilla/build-buildbot-configs/blob/master/mozilla/release_templates/default_success %(releaseName)s: completed %(stage)s]".''
Account confirmers, Anti-spam team, Confirmed users, Bureaucrats and Sysops emeriti
1,529

edits