зеркало из https://github.com/mozilla/bedrock.git
97 строки
2.9 KiB
ReStructuredText
97 строки
2.9 KiB
ReStructuredText
.. This Source Code Form is subject to the terms of the Mozilla Public
|
|
.. License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
.. file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
.. _funnelcake:
|
|
|
|
===============================
|
|
Funnel cakes and Partner Builds
|
|
===============================
|
|
|
|
Funnel cakes
|
|
------------
|
|
|
|
In addition to being `an American delicacy <https://en.wikipedia.org/wiki/Funnel_cake>`_
|
|
funnel cakes are what we call special builds of Firefox. They can come with
|
|
extensions preinstalled and/or a custom first-run experience.
|
|
|
|
"The whole funnelcake system is so marred by history at this point I don't
|
|
know if anyone fully understands what it's supposed to do in all situations"
|
|
- pmac
|
|
|
|
Funnelcakes are configured by the Release Engineering team. You can see the
|
|
configs in the `funnelcake git repo <https://github.com/mozilla-partners/funnelcake>`_
|
|
|
|
Currently bedrock only supports funnelcakes for "stub installer platforms". Which
|
|
means they are windows only. However, funnelcakes can be made for all platforms
|
|
so `bedrock support may expand <https://github.com/mozilla/bedrock/issues/6251>`_.
|
|
|
|
We signal to bedrock that we want a funnelcake when linking to the download
|
|
page by appending the query variable `f` with a value equal to the funnelcake
|
|
number being requested.
|
|
|
|
.. code-block:: text
|
|
|
|
https://www.mozilla.org/en-US/firefox/download/thanks/?f=137
|
|
|
|
Bedrock checks to see if the funnelcake is configured (this is handled in the
|
|
`www-config repo <https://github.com/mozmeao/www-config/blob/master/waffle_configs/bedrock-prod.env>`_)
|
|
|
|
.. code-block:: bash
|
|
|
|
FUNNELCAKE_135_LOCALES=en-US
|
|
FUNNELCAKE_135_PLATFORMS=win,win64
|
|
|
|
Bedrock then converts that into a request to download a file like so:
|
|
|
|
Windows:
|
|
|
|
.. code-block:: text
|
|
|
|
https://download.mozilla.org/?product=firefox-stub-f137&os=win&lang=en-US
|
|
|
|
Mac (You can see the mac one does not pass the funnelcake number along.):
|
|
|
|
.. code-block:: text
|
|
|
|
https://download.mozilla.org/?product=firefox-latest-ssl&os=osx&lang=en-US
|
|
|
|
Someone in Release Engineering needs to set up the redirects on their side to
|
|
take the request from here.
|
|
|
|
Places things can go wrong
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
As with many technical things, the biggest potential problems are with people:
|
|
|
|
- Does it have executive approval?
|
|
- Did legal sign off?
|
|
- Has it had a security review?
|
|
|
|
On the technical side:
|
|
|
|
- Is the switch enabled?
|
|
- Is the variable being passed?
|
|
|
|
Partner builds
|
|
--------------
|
|
|
|
Bedrock does not have an automated way of handling these, so you'll have to
|
|
craft your own download button:
|
|
|
|
.. code-block:: html
|
|
|
|
<a href="https://download.mozilla.org/?product=firefox-election-edition&os=win&lang=en-US">
|
|
Download</a>
|
|
|
|
------------
|
|
|
|
Bugs that might have useful info:
|
|
|
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1450463
|
|
- https://bugzilla.mozilla.org/show_bug.cgi?id=1495050
|
|
|
|
PRs that might have useful code:
|
|
|
|
- https://github.com/mozilla/bedrock/pull/5555
|