Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature]: allow browsers to download Firefox Stable/Aurora/ESR in addition to Nightly #10420

Closed
fippo opened this issue Jun 19, 2023 · 1 comment · Fixed by #12051
Closed

Comments

@fippo
Copy link

fippo commented Jun 19, 2023

Feature description

In this PR I am trying to remove the dependency on travis-multirunner but would like to retain the ability to download different FF versions (stable, aurora, esr, maybe dev).

It seems the main obstacle is that the directory structure for FF Nightly is
https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/{buildId}.{locale}.{platform-specific-stuff} (example here)
while for the other channels the platform and locale come earlier in the path:
https://archive.mozilla.org/pub/firefox/releases/{buildId}/{platform}/{locale}/<binary>
example here

Would monkeypatching resolveDownloadUrl to recognize the default nightly baseUrl and call resolveDownloadPath/archive with a different boolean flag be an ok approach?
This would allow "users" to pass a different baseUrl depending on the channel.
The cleaner alternative would be to plumb the channel through (for other browsers as well)

Yet another approach would be the one that travis-multirunner has taken for a decade and download from
'https://download.mozilla.org/?os=' + platform + '&lang=' + lang + '&product=firefox-' + (channel || 'latest'); but I would like less travis-multirunner, not more ;-)

Issue #6894 has some context on switching the default and helpful pointers to download urls

@fippo fippo added the feature label Jun 19, 2023
@OrKoN
Copy link
Collaborator

OrKoN commented Jun 20, 2023

We want to support this: we need to make use of the channel in https://github.com/puppeteer/puppeteer/blob/main/packages/browsers/src/browser-data/firefox.ts#L69 and also make the download URLs dependent on the channel https://github.com/puppeteer/puppeteer/blob/main/packages/browsers/src/browser-data/firefox.ts#L42

But first we need to find more unique identifiers to use as a buildId. Also, related to #10414.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants