Firefox/Go Faster/Release Process: Difference between revisions
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 | This page describes the canonical process for releasing a system add-on. | ||
== Terminology == | == Terminology == | ||
<dl> | <dl> | ||
<dt>System | <dt>System Add-on</dt> | ||
<dd>A Firefox | <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 | <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 | 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 | # 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 | 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 | # 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 | # [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 | # 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 | # 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.
- 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.
- 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.
- Generate an XPI for the version of your system add-on that you wish to release.
- 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 archive.mozilla.org. System add-ons are stored in the
/pub/system-addons/
directory. - 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.
- 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).