Closed Bug 1357378 Opened 3 years ago Closed 2 years ago

Use Firefox-devedition-latest{,-ssl} & devedition-stub products in bouncer

Categories

(Release Engineering :: Release Requests, enhancement, P2)

enhancement

Tracking

(firefox56 fixed)

RESOLVED FIXED
Tracking Status
firefox56 --- fixed

People

(Reporter: pascalc, Assigned: nthomas)

References

Details

Attachments

(2 files)

On our download pages, our Dev Edition links have urls of this form:
https://download.mozilla.org/?product=firefox-aurora-latest-ssl&os=win&lang=en-US
https://download.mozilla.org/?product=firefox-aurora-latest-l10n-ssl&os=linux64&lang=fr

With the end of Aurora and Dev Edition being now based on Beta, it would be good to have new product link such as firefox-devedition-latest-ssl

I am choosing devedition instead of mentioning a channel because we may have one day the Dev Edition based on the Release channel, so using the real product name instead of the channel name seems more future proof.

It would be also good to remove the inconsistency of having en-US builds and l10n builds with different names. 

Once this is done, we will be able to update the download links logic in Bedrock to use the new name.
Blocks: 1357379
Flags: needinfo?(rail)
Component: Bouncer → Releases
Flags: needinfo?(rail)
Product: Webtools → Release Engineering
QA Contact: rail
updating the title to reality of comment #0 :)
Summary: Create firefox-aurora-latest-ssl product in bouncer → Create firefox-devedition-latest-ssl product in bouncer
Rail, do you have an estimate as to when this will be done so as that we can plan to update mozilla.org download links as well? Thanks
Flags: needinfo?(rail)
We are targeting this to be done as a part of the dev edition work. Our current optimistic ETA is next week. It will take some time until we QA the builds and the release process (hopefully days, not weeks).

BTW, I would prefer to use devedition-latest{,-ssl} instead. Do you have a strong opinion for using firefox-devedition-latest-ssl?

BTW2, there will be no devedition-latest-l10n-ssl anymore, because the files will be under the same hierarchy on archive.m.o. I hope it will simplify the website work. If it doesn't, let me know, we can create a band aid.
Flags: needinfo?(rail)
(In reply to Rail Aliiev [:rail] ⌚️ET from comment #3)
> We are targeting this to be done as a part of the dev edition work. Our
> current optimistic ETA is next week. It will take some time until we QA the
> builds and the release process (hopefully days, not weeks).

Perfect, that gives me a good estimate to plan the changes to mozilla.org, ideally I'd like to have that last piece done end of May. 

> 
> BTW, I would prefer to use devedition-latest{,-ssl} instead. Do you have a
> strong opinion for using firefox-devedition-latest-ssl?
> 

No strong opinion, this is fine.

> BTW2, there will be no devedition-latest-l10n-ssl anymore, because the files
> will be under the same hierarchy on archive.m.o. I hope it will simplify the
> website work. If it doesn't, let me know, we can create a band aid.

I think this is fine, thanks
Summary: Create firefox-devedition-latest-ssl product in bouncer → Create devedition-latest{,-ssl} product in bouncer
Priority: -- → P2
Morphing this again to add devedition-stub. These will all get created automatically by the work in bug 1358613 and the first DevEd 'release'. 

Pascal, are you co-ordinating with Bedrock ? FWIW, RelEng's process is more like beta+release than nightly, so 
  devedition-stub       is an alias to devedition-<version>-stub, for stub downloads on Windows
  devedition-latest     is an alias to devedition-<version>, for the stub to get the full installer
  devedition-latest-ssl is an alias do devedition-<version>-ssl, for website downloads on linux & mac (and fallback windows?)
And as Rail says no more latest-l10n-ssl.
Depends on: 1358613
Summary: Create devedition-latest{,-ssl} product in bouncer → Create devedition-latest{,-ssl} & devedition-stub products in bouncer
Comment on attachment 8869873 [details]
Bug 1357378 - use devedition-latest product for the full developer edition installer,

https://reviewboard.mozilla.org/r/141410/#review144936

::: browser/branding/aurora/branding.nsi:19
(Diff revision 1)
>  !define URLInfoAbout          "https://www.mozilla.org"
>  !define HelpLink              "https://support.mozilla.org"
>  
> -!define URLStubDownload32 "http://download.mozilla.org/?os=win&lang=${AB_CD}&product=firefox-aurora-latest"
> -!define URLStubDownload64 "http://download.mozilla.org/?os=win64&lang=${AB_CD}&product=firefox-aurora-latest"
> +!define URLStubDownload32 "http://download.mozilla.org/?os=win&lang=${AB_CD}&product=devedition-latest"
> +!define URLStubDownload64 "http://download.mozilla.org/?os=win64&lang=${AB_CD}&product=devedition-latest"
>  !define URLManualDownload "https://www.mozilla.org/${AB_CD}/firefox/installer-help/?channel=aurora&installer_lang=${AB_CD}"

I've left this alone because this page gives 4 download buttons if you have channel=nightly, aurora, or devedition. It limits to single button for beta and releases.

::: browser/branding/aurora/branding.nsi:21
(Diff revision 1)
>  
> -!define URLStubDownload32 "http://download.mozilla.org/?os=win&lang=${AB_CD}&product=firefox-aurora-latest"
> -!define URLStubDownload64 "http://download.mozilla.org/?os=win64&lang=${AB_CD}&product=firefox-aurora-latest"
> +!define URLStubDownload32 "http://download.mozilla.org/?os=win&lang=${AB_CD}&product=devedition-latest"
> +!define URLStubDownload64 "http://download.mozilla.org/?os=win64&lang=${AB_CD}&product=devedition-latest"
>  !define URLManualDownload "https://www.mozilla.org/${AB_CD}/firefox/installer-help/?channel=aurora&installer_lang=${AB_CD}"
>  !define URLSystemRequirements "https://www.mozilla.org/firefox/system-requirements/"
>  !define Channel "aurora"

This appears to be used for stub pings so I'll take your guidance here. FWIW the update channel is staying as aurora for now, and leaving this alone would also provide continuity in the stub pings data set.
I'll take this but note again that bug 1358613 is where most of the work is being done.
Assignee: nobody → nthomas
Summary: Create devedition-latest{,-ssl} & devedition-stub products in bouncer → Use devedition-latest{,-ssl} & devedition-stub products in bouncer
Comment on attachment 8869873 [details]
Bug 1357378 - use devedition-latest product for the full developer edition installer,

https://reviewboard.mozilla.org/r/141410/#review144978

::: browser/branding/aurora/branding.nsi:19
(Diff revision 1)
>  !define URLInfoAbout          "https://www.mozilla.org"
>  !define HelpLink              "https://support.mozilla.org"
>  
> -!define URLStubDownload32 "http://download.mozilla.org/?os=win&lang=${AB_CD}&product=firefox-aurora-latest"
> -!define URLStubDownload64 "http://download.mozilla.org/?os=win64&lang=${AB_CD}&product=firefox-aurora-latest"
> +!define URLStubDownload32 "http://download.mozilla.org/?os=win&lang=${AB_CD}&product=devedition-latest"
> +!define URLStubDownload64 "http://download.mozilla.org/?os=win64&lang=${AB_CD}&product=devedition-latest"
>  !define URLManualDownload "https://www.mozilla.org/${AB_CD}/firefox/installer-help/?channel=aurora&installer_lang=${AB_CD}"

Not in love with that web page, but as long as we know channel=aurora will continue doing something sensible then I'm satisfied.

::: browser/branding/aurora/branding.nsi:21
(Diff revision 1)
>  
> -!define URLStubDownload32 "http://download.mozilla.org/?os=win&lang=${AB_CD}&product=firefox-aurora-latest"
> -!define URLStubDownload64 "http://download.mozilla.org/?os=win64&lang=${AB_CD}&product=firefox-aurora-latest"
> +!define URLStubDownload32 "http://download.mozilla.org/?os=win&lang=${AB_CD}&product=devedition-latest"
> +!define URLStubDownload64 "http://download.mozilla.org/?os=win64&lang=${AB_CD}&product=devedition-latest"
>  !define URLManualDownload "https://www.mozilla.org/${AB_CD}/firefox/installer-help/?channel=aurora&installer_lang=${AB_CD}"
>  !define URLSystemRequirements "https://www.mozilla.org/firefox/system-requirements/"
>  !define Channel "aurora"

You're right, and what everything else that needs the channel uses is MOZ_UPDATE_CHANNEL, so if that's not changing either then we're set.
Attachment #8869873 - Flags: review?(mhowell) → review+
(In reply to Nick Thomas [:nthomas] from comment #6)
> Morphing this again to add devedition-stub. These will all get created
> automatically by the work in bug 1358613 and the first DevEd 'release'. 
> 
> Pascal, are you co-ordinating with Bedrock ? FWIW, RelEng's process is more
> like beta+release than nightly, so 
>   devedition-stub       is an alias to devedition-<version>-stub, for stub
> downloads on Windows
>   devedition-latest     is an alias to devedition-<version>, for the stub to
> get the full installer
>   devedition-latest-ssl is an alias do devedition-<version>-ssl, for website
> downloads on linux & mac (and fallback windows?)
> And as Rail says no more latest-l10n-ssl.

Yes, I'll work with :kohei on any change needed on Bedrock.
Thanks Pascal.
Keywords: leave-open
Pushed by nthomas@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/422883e96b83
use devedition-latest product for the full developer edition installer, r=mhowell
We'll need to add the actual aliases after we create the Devedition bouncer products, but before we run postrelease.
Blocks: 1353825
No longer blocks: 1353835
I've added a throwaway product 'Devedition-dummy' to production bouncer, and pointed the 3 aliases at that. That won't serve anything and is just to avoid needing to remember comment #16.

Setting a ni to come back and remove Devedition-dummy after the first deved build updates the aliases to a real thing.
Status: NEW → RESOLVED
Closed: 2 years ago
Flags: needinfo?(nthomas)
Resolution: --- → FIXED
(In reply to Nick Thomas [:nthomas] from comment #17)
> Setting a ni to come back and remove Devedition-dummy after the first deved
> build updates the aliases to a real thing.

Done. Bouncer seems to be working fine.
Flags: needinfo?(nthomas)
Is there a reason we dropped "firefox-" from the product name? Consistency in naming really helps with using these names and they continue to drift apart due to things like this. I'd prefer if we could either add "firefox-" here or remove it from everything (with a strong preference for the former). The download button code on www.m.o is already decently complex due to naming in bouncer (e.g. latest names use "-ssl", others use "-SSL", some require "l10n", funnelcakes, etc). This one isn't that big a deal, but it does add to the special cases for our various products.
Seconded... I would prefer "firefox-dev" over "devedition".
The main reason was to keep things things simpler on our side. We definitely can change the product names in bouncer if someone has a strong opinion.

There will be a few places to touch:

1) https://dxr.mozilla.org/mozilla-central/source/testing/mozharness/configs/releases/bouncer_firefox_devedition.py#6,8 etc to rename the products

2) The "from" URLs: https://github.com/mozilla/releasetasks/blob/23d4da604e72aaff98e545711bf9494f46be7c60/releasetasks/templates/desktop/enUS.yml.tmpl#L114 and https://github.com/mozilla/releasetasks/blob/23d4da604e72aaff98e545711bf9494f46be7c60/releasetasks/templates/desktop/l10n.yml.tmpl#L194 should use something like {{ bouncer_product }} instead of {{ product }}. Need to pass them via release runner and release configs


https://dxr.mozilla.org/mozilla-central/source/testing/mozharness/scripts/release/uptake_monitoring.py should use changes in 1) to watch the uptake.
Maybe 2) is not necessary, because "product" in not used in https://dxr.mozilla.org/mozilla-central/source/testing/mozharness/scripts/bouncer_submitter.py. We may still want to clean up the script to not read that property.
Paul,

What are the bouncer product names that you prefer? Initially it was filed as "firefox-devedition-latest{,-ssl}". Would it work for you?
Status: RESOLVED → REOPENED
Flags: needinfo?(pmac)
Resolution: FIXED → ---
That would be fine. If we'd like to shorten it to "deved" or "dev" that's also fine. I'm mainly interested in it being consistent:

{product}-{channel}-{version}[-ssl]

So adding a new channel is fine, I'd just like for it to fit the same pattern.
Flags: needinfo?(pmac)
Firefox-dev-latest{,-ssl} then! :)
Summary: Use devedition-latest{,-ssl} & devedition-stub products in bouncer → Use Firefox-dev-latest{,-ssl} & devedition-stub products in bouncer
Comment on attachment 8873071 [details]
Bug 1357378 - Use Firefox-dev-latest{,-ssl} & devedition-stub products in bouncer  a=release DONTBUILD

https://reviewboard.mozilla.org/r/144522/#review148560

r+ with fixes. I'd prefer -deved- or -devedition- to -dev-, to avoid ambiguity with dev/staging/prod naming, but won't be pushy because y'all agreed already. 

Could you just change the alias names to avoid touching balrog submission & update testing at all, leaving only bouncer uptake checks ?

::: commit-message-b6b58:1
(Diff revision 2)
> +Bug 1357378 - Use Firefox-dev-latest{,-ssl} & devedition-stub products in bouncer r=nthomas a=release DONTBUILD

You're actually using firefox-dev-stub, which I think is right for consistency. Could you update the commit message to match ?

::: testing/mozharness/configs/releases/bouncer_firefox_devedition.py:6
(Diff revision 2)
>  # lint_ignore=E501
>  config = {
>      "shipped-locales-url": "https://hg.mozilla.org/%(repo)s/raw-file/%(revision)s/browser/locales/shipped-locales",
>      "products": {
>          "installer": {
> -            "product-name": "Devedition-%(version)s",
> +            "Firefox-dev-name": "Firefox-dev-%(version)s",

The 'product-name' key shouldn't be changing here.
Attachment #8873071 - Flags: review?(nthomas) → review+
Anything left to do here?
I'm going to land the changes after we done with next week's uplift. It's on my radar.
Pushed by raliiev@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/964494e376a4
Use Firefox-devedition-latest{,-ssl} & firefox-devedition-stub products in bouncer r=nthomas a=release DONTBUILD
I added new aliases and pointed them to the current latest ones:

firefox-devedition-stub	-> Devedition-54.0b14-stub
firefox-devedition-latest ->Devedition-54.0b14
firefox-devedition-latest-ssl -> Devedition-54.0b14-SSL

I think we can remove the old aliases at some point in the future.
So it's now firefox-devedition, not firefox-dev?
Correct. Let's use the less confusing one. :)
https://hg.mozilla.org/mozilla-central/rev/964494e376a4
Status: REOPENED → RESOLVED
Closed: 2 years ago2 years ago
Resolution: --- → FIXED
Summary: Use Firefox-dev-latest{,-ssl} & devedition-stub products in bouncer → Use Firefox-devedition-latest{,-ssl} & devedition-stub products in bouncer
You need to log in before you can comment on or make changes to this bug.