Firefox/Go Faster/Release Process: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with "This page describes the canonical process for releasing a system addon. == Terminology == <dl> <dt>System Addon</dt> <dd>A Firefox addon built-in to Firefox itself that s...")
 
No edit summary
 
Line 1: Line 1:
This page describes the canonical process for releasing a system addon.
This page describes the canonical process for releasing a system add-on.


== Terminology ==
== Terminology ==
<dl>
<dl>
   <dt>System Addon</dt>
   <dt>System Add-on</dt>
   <dd>A Firefox addon built-in to Firefox itself that ships with it and is enabled by default.</dd>
   <dd>A Firefox add-on built-in to Firefox itself that ships with it and is enabled by default.</dd>


   <dt>Live Release</dt>
   <dt>Live Release</dt>
   <dd>An update to a system addon that occurs outside of the [[RapidRelease]] process. Unlike the release trains, live releases can happen at any time. These are pushed out to users by [[Balrog]].</dd>
   <dd>An update to a system add-on that occurs outside of the [[RapidRelease]] process. Unlike the release trains, live releases can happen at any time. These are pushed out to users by [[Balrog]].</dd>
</dl>
</dl>


== Normal Release ==
== Normal Release ==
A normal release of a system addon rides the trains and is sent to users along with a normal Firefox release.
A normal release of a system add-on rides the trains and is sent to users along with a normal Firefox release.


# Merge any changes for the release to [https://hg.mozilla.org/mozilla-central mozilla-central]. System addon code for Firefox desktop lives in [https://dxr.mozilla.org/mozilla-central/source/browser/extensions browser/extensions]. Addons that store their source code in a standalone repository typically tag a release and merge the changes all at once.
# Merge any changes for the release to [https://hg.mozilla.org/mozilla-central mozilla-central]. System add-on code for Firefox desktop lives in [https://dxr.mozilla.org/mozilla-central/source/browser/extensions browser/extensions]. Add-ons that store their source code in a standalone repository typically tag a release and merge the changes all at once.
# Optionally, [[Release_Management/Uplift_rules|uplift your changes]] to Aurora or Beta. The standard uplift process applies, including QA and Release Management approval.
# Optionally, [[Release_Management/Uplift_rules|uplift your changes]] to Aurora or Beta. The standard uplift process applies, including QA and Release Management approval.


== Live Release ==
== Live Release ==
A live release can target a specific Firefox version, platform, build, etc. Note, however, that users that do not match a live release will be given the version of your system addon that shipped with their current Firefox version. This means that '''users with a newer version of your addon due to a live release will be downgraded if they are no longer matched by your targeting'''.
A live release can target a specific Firefox version, platform, build, etc. Note, however, that users that do not match a live release will be given the version of your system add-on that shipped with their current Firefox version. This means that '''users with a newer version of your add-on due to a live release will be downgraded if they are no longer matched by your targeting'''.


It's generally a good idea to merge your changes to mozilla-central and get them uplifted before performing a live release.
It's generally a good idea to merge your changes to mozilla-central and get them uplifted before performing a live release.


# Generate an XPI for the version of your system addon that you wish to release.
# Generate an XPI for the version of your system add-on that you wish to release.
# [https://bugzilla.mozilla.org/enter_bug.cgi?product=Cloud%20Services&component=Operations File a Cloud Services bug] asking for your XPI to be signed with the System Addon signing key. Make sure to attach the XPI to the bug.
# [https://bugzilla.mozilla.org/enter_bug.cgi?product=Cloud%20Services&component=Operations File a Cloud Services bug] asking for your XPI to be signed with the System Add-on signing key. Make sure to attach the XPI to the bug.
# Upload the signed XPI to [http://archive.mozilla.org/ archive.mozilla.org]. System addons are stored in the <code>/pub/system-addons/</code> directory.
# Upload the signed XPI to [http://archive.mozilla.org/ archive.mozilla.org]. System add-ons are stored in the <code>/pub/system-addons/</code> directory.
# Create a release in Balrog pointing to the XPI that you just uploaded.
# Create a release in Balrog pointing to the XPI that you just uploaded.
# Create a rule in Balrog on a testing channel that will serve up your new release.
# Create a rule in Balrog on a testing channel that will serve up your new release.
# Obtain approval from QA and Release Management to deploy a new live release for your addon. QA will need to know the testing channel you used in order to test the update process.
# Obtain approval from QA and Release Management to deploy a new live release for your add-on. QA will need to know the testing channel you used in order to test the update process.
# Modify the Balrog rule to be sent out to the actual channel you wish to target (usually release).
# Modify the Balrog rule to be sent out to the actual channel you wish to target (usually release).

Latest revision as of 18:39, 3 May 2016

This page describes the canonical process for releasing a system add-on.

Terminology

System Add-on
A Firefox add-on built-in to Firefox itself that ships with it and is enabled by default.
Live Release
An update to a system add-on that occurs outside of the RapidRelease process. Unlike the release trains, live releases can happen at any time. These are pushed out to users by Balrog.

Normal Release

A normal release of a system add-on rides the trains and is sent to users along with a normal Firefox release.

  1. Merge any changes for the release to mozilla-central. System add-on code for Firefox desktop lives in browser/extensions. Add-ons that store their source code in a standalone repository typically tag a release and merge the changes all at once.
  2. Optionally, uplift your changes to Aurora or Beta. The standard uplift process applies, including QA and Release Management approval.

Live Release

A live release can target a specific Firefox version, platform, build, etc. Note, however, that users that do not match a live release will be given the version of your system add-on that shipped with their current Firefox version. This means that users with a newer version of your add-on due to a live release will be downgraded if they are no longer matched by your targeting.

It's generally a good idea to merge your changes to mozilla-central and get them uplifted before performing a live release.

  1. Generate an XPI for the version of your system add-on that you wish to release.
  2. File a Cloud Services bug asking for your XPI to be signed with the System Add-on signing key. Make sure to attach the XPI to the bug.
  3. Upload the signed XPI to archive.mozilla.org. System add-ons are stored in the /pub/system-addons/ directory.
  4. Create a release in Balrog pointing to the XPI that you just uploaded.
  5. Create a rule in Balrog on a testing channel that will serve up your new release.
  6. Obtain approval from QA and Release Management to deploy a new live release for your add-on. QA will need to know the testing channel you used in order to test the update process.
  7. Modify the Balrog rule to be sent out to the actual channel you wish to target (usually release).