Closed Bug 989978 Opened 8 years ago Closed 8 years ago

balrog not substituting %locale% in detailsUrl

Categories

(Release Engineering Graveyard :: Applications: Balrog (backend), defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: bhearsum, Assigned: bhearsum)

Details

Attachments

(1 file)

Hal noticed this last week:
When offered the update on beta from 20.0b2 to 29.0b3, I clicked on the
"Details" link to see the changes. The URL that launched in my browser was:
  https://www.mozilla.org/%locale%/firefox/29.0/releasenotes/


I did some poking and it appears to be an issue of case. The blobs get "%locale%" (by way of patcher config, which is set by https://mxr.mozilla.org/build-central/source/tools/lib/perl/Release/Patcher/Config.pm#11), but Balrog wants uppercase (https://github.com/mozilla/balrog/blob/master/auslib/AUS.py#L162).

The current snippet generator only copes with lowercase (https://github.com/mozilla/build-tools/blob/master/lib/python/release/updates/patcher.py).

Seems like the simplest course of action is to make either Balrog or the snippet generator cope with both. I'd lean towards doing that in the snippet generator, to keep Balrog cleaner. Once that's done, we can adjust the patcher config bumper to use upper case.

It would be good to see if there's other substitutions where this could be a problem, too. The code linked to above can also sub platform, version, and bouncer-platform.

Any thoughts Nick?
Flags: needinfo?(nthomas)
Urgh. The other place where substitutions can happen is in the app, where it's uppercase only. Although that doesn't apply to anything we send in openURL, or to detailsUrl, from a quick search in nsUpdateService.js.

Your recent ReleaseCreator() code
  http://hg.mozilla.org/build/tools/file/default/lib/python/balrog/submitter/cli.py#l45
seems to be the only consumer of
  http://hg.mozilla.org/build/tools/file/default/lib/python/release/info.py#l215
or did I go down the wrong rabbit hole, whole ?
Flags: needinfo?(nthomas)
(In reply to Nick Thomas [:nthomas] from comment #1)
> Urgh. The other place where substitutions can happen is in the app, where
> it's uppercase only. Although that doesn't apply to anything we send in
> openURL, or to detailsUrl, from a quick search in nsUpdateService.js.
> 
> Your recent ReleaseCreator() code
>  
> http://hg.mozilla.org/build/tools/file/default/lib/python/balrog/submitter/
> cli.py#l45
> seems to be the only consumer of
>  
> http://hg.mozilla.org/build/tools/file/default/lib/python/release/info.
> py#l215
> or did I go down the wrong rabbit hole, whole ?

Hmmm, you're right. My original comment about getting the URL via the patcher config is wrong. I may have been confused between the perl and python versions of the functions.

So, the simplest fix here would be to change the Python version to use %LOCALE%. This may end up causing a wrinkle if/when we replace patcher-config-bump.pl with a Python version, that uses the PatcherConfig class. That could probably be mitigated by making the Python version of substitutePath case-insensitive.
Attached patch minimal fixSplinter Review
Assignee: nobody → bhearsum
Status: NEW → ASSIGNED
Attachment #8406149 - Flags: review?(nthomas)
Attachment #8406149 - Flags: review?(nthomas) → review+
Attachment #8406149 - Flags: checked-in+
Going to call this fixed. We can deal with changing PatcherConfig elsewhere if we need to in the future.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Product: Release Engineering → Release Engineering Graveyard
You need to log in before you can comment on or make changes to this bug.