Closed Bug 914463 Opened 11 years ago Closed 11 years ago

Display all B2G device image builds on one line and add support for Nexus 4 builds

Categories

(Tree Management Graveyard :: TBPL, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: RyanVM, Assigned: RyanVM)

References

Details

Attachments

(5 files, 6 obsolete files)

3.58 KB, image/png
Details
7.28 KB, patch
emorley
: review+
Details | Diff | Splinter Review
3.53 KB, patch
RyanVM
: review+
Details | Diff | Splinter Review
9.69 KB, patch
emorley
: review+
Details | Diff | Splinter Review
2.42 KB, patch
emorley
: review+
Details | Diff | Splinter Review
Seriously.
Laying the ground work by making the OS-level device image type.
Attachment #802015 - Flags: review?(emorley)
Mostly mechanical once you get the basic gist of what's going on. No doubt that it adds a lot of extra regex lines, but I think it's all pretty straightforward. This also removes support for Otoro and Panda builds as they have been unsupported for more than 30 days now.
Attachment #802016 - Flags: review?(emorley)
Tell me this doesn't look nicer than the status quo.
Attachment #802017 - Flags: review?(emorley)
This doesn't quite work as expected though. For some reason, Ni sorts ahead of BiM even though the list ordering is correct.

Also, if I comment out one of the types in Data.js, it is correctly identified as an Unknown build, but it isn't grouped into an Unknown category.
The more I think about this, the more I think that the Bi/Ni etc nomenclature isn't really needed anymore. I propose changing the regular builds to just B/N and the eng builds to Be/Ne. It'll save some room too.
This changes the name of the "Marionette-enabled" builds to just "Engineering" builds as it is my understanding is that's what they're better known as outside of TBPL. This also changes the Bi/Ni symbols to just B/N and BiM/NiM to Be/Ne.
Attachment #802345 - Flags: review?(emorley)
Attached image screenshot
Just a picture of what these changes end up looking like in the end. Note the Be ordering issue that I'm still trying to figure out.
Comment on attachment 802015 [details] [diff] [review]
Create a B2G device image type that all builds feed into

Review of attachment 802015 [details] [diff] [review]:
-----------------------------------------------------------------

r=me with nit :-)

::: js/Data.js
@@ +504,5 @@
>          // B2G arm build support can be removed after Sep. 2013
>          /b2g.*_ics_armv7a/i.test(name) ? "b2g-arm" :
>          /b2g.*_emulator-jb/i.test(name) ? "b2g-emu-jb" :
>          /b2g.*_emulator/i.test(name) ? "b2g-emu-ics" :
> +        /b2g.*(hamachi|helix|inari|leo|otoro|panda|unagi)/i.test(name) ? "b2g-device-image" :

nit: Please make this non capturing (since we're not using the resultant match), eg:
(?:foo|bar|baz)
Attachment #802015 - Flags: review?(emorley) → review+
Sorry I've tried a few different qbases (in case the recent landings messed things up), but the patchset won't apply cleanly (for me to figure out the ordering issue and test etc). Please can you rebase? :-)

(Suspect ordering is based on alphabetical of description, due to https://hg.mozilla.org/webtools/tbpl/file/60ce1f27d055/js/UserInterface.js#l984)
Comment on attachment 802016 [details] [diff] [review]
Create new build types for B2G device image builds

Review of attachment 802016 [details] [diff] [review]:
-----------------------------------------------------------------

Looks great, but not r+ so we can double check everything working once changes made, in case one of my suggestions breaks things in other ways :-)

::: js/Data.js
@@ +504,5 @@
>          // B2G arm build support can be removed after Sep. 2013
>          /b2g.*_ics_armv7a/i.test(name) ? "b2g-arm" :
>          /b2g.*_emulator-jb/i.test(name) ? "b2g-emu-jb" :
>          /b2g.*_emulator/i.test(name) ? "b2g-emu-ics" :
> +        /b2g.*(hamachi|helix|inari|leo|unagi)/i.test(name) ? "b2g-device-image" :

For unknown devices, we won't match here, which will result in:

Other   Unknown(B)
...etc.

I'd perhaps change this to:
/b2g.*_(?:dep|nightly)$/i.test(name) ? "b2g-device-image" :

So that way anything that's definitely a device image build (and doesn't contain _emulator etc) will be caught. We might end up with the odd false positive as new emulator job types are added, but should be a much less frequent occurrence then new device image types appearing on the "Other" row. What do you think? :-)

@@ +563,5 @@
> +        /b2g.*helix_dep/i.test(name) ? "Helix Device Image Build" :
> +        /b2g.*inari_dep/i.test(name) ? "Inari Device Image Build" :
> +        /b2g.*leo_dep/i.test(name) ? "Leo Device Image Build" :
> +        /b2g.*unagi_dep/i.test(name) ? "Unagi Device Image Build" :
> +        /b2g.*_dep/i.test(name) ? "Unknown B2G Device Image Build" :

The emulator job types get caught by /b2g.*_dep/ and so are classified as "Unknown B2G Device Image Build". (This isn't noticeable until the "Unknown" grouping in part 4 was fixed).

We need to add an explicit /b2g.*_emulator.*_dep/ higher up and corresponding Config.js entries - we can make these more specific than the "B2G Device Image Build" this patch removes - how about "B2G Emulator Image Build" or similar? :-)
Attachment #802016 - Flags: review?(emorley) → review-
(In reply to Ed Morley [:edmorley UTC+1] from comment #10)
> (This isn't noticeable until the "Unknown"
> grouping in part 4 was fixed).


By part 4 I mean part 3 :-)
Comment on attachment 802017 [details] [diff] [review]
Group B2G device image builds by device type

Review of attachment 802017 [details] [diff] [review]:
-----------------------------------------------------------------

r+ with the group name fixed.

::: js/Config.js
@@ +257,5 @@
> +                           "Unagi Marionette-Enabled Device Image Nightly"],
> +    "Unknown Device Image": ["Unknown Device Image Build",
> +                             "Unknown Marionette-Enabled Device Image Build",
> +                             "Unknown Device Image Nightly",
> +                             "Unknown Marionette-Enabled Device Image Nightly"],

s/Unknown/Unknown B2G/ and the "Unknown" grouping will work :-)

@@ +347,5 @@
>      // L10n nightlies are grouped above so they appear as N1, N2, etc.
>      "L10n Nightly" : "N",
>      "L10n Repack": "L10n",
> +    // B2G device image builds are given the same symbols
> +    // for the grouping above

nit: How about...

// B2G device image builds (grouped by device in the UI)

(or something similar?) :-)
Attachment #802017 - Flags: review?(emorley) → review+
Attachment #802345 - Flags: review?(emorley) → review+
(In reply to Ryan VanderMeulen [:RyanVM UTC-4] from comment #4)
> This doesn't quite work as expected though. For some reason, Ni sorts ahead
> of BiM even though the list ordering is correct.

(In reply to Ed Morley [:edmorley UTC+1] from comment #9)
> (Suspect ordering is based on alphabetical of description, due to
> https://hg.mozilla.org/webtools/tbpl/file/60ce1f27d055/js/UserInterface.js#l984)

Think we may be best saving this for another bug (which unless there is a non-hacky way to fix, may be best wontfix).
(In reply to Ed Morley [:edmorley UTC+1] from comment #8)
> Comment on attachment 802015 [details] [diff] [review]
> nit: Please make this non capturing (since we're not using the resultant
> match), eg:
> (?:foo|bar|baz)

Done
Attachment #802015 - Attachment is obsolete: true
Attachment #802746 - Flags: review+
(In reply to Ed Morley [:edmorley UTC+1] from comment #10)
> Comment on attachment 802016 [details] [diff] [review]
> So that way anything that's definitely a device image build (and doesn't
> contain _emulator etc) will be caught. We might end up with the odd false
> positive as new emulator job types are added, but should be a much less
> frequent occurrence then new device image types appearing on the "Other"
> row. What do you think? :-)

Gah, of course! Agreed 100% with everything you said.

> We need to add an explicit /b2g.*_emulator.*_dep/ higher up and
> corresponding Config.js entries - we can make these more specific than the
> "B2G Device Image Build" this patch removes - how about "B2G Emulator Image
> Build" or similar? :-)

Whoops, and sounds great.
Attachment #802016 - Attachment is obsolete: true
Attachment #802751 - Flags: review?(emorley)
(In reply to Ed Morley [:edmorley UTC+1] from comment #12)
> Comment on attachment 802017 [details] [diff] [review]
> s/Unknown/Unknown B2G/ and the "Unknown" grouping will work :-)

Hah, knew it was something dumb.

> // B2G device image builds (grouped by device in the UI)
> 
> (or something similar?) :-)

Sounds perfect to me!
Attachment #802017 - Attachment is obsolete: true
Attachment #802755 - Flags: review+
Got some informal feedback from various B2G team members today and overall these changes were well-received.
Attachment #802345 - Attachment is obsolete: true
Attachment #802757 - Flags: review+
And that's why they call you the godfather. Everything works perfectly now AFAICT.

(In reply to Ed Morley [:edmorley UTC+1] from comment #9)
> (Suspect ordering is based on alphabetical of description, due to
> https://hg.mozilla.org/webtools/tbpl/file/60ce1f27d055/js/UserInterface.
> js#l984)

Except for this.
So I guess the "hacky" way to do this would be to just change the names to suit our desired ordering. "B2G Device Image Engineering Build" would work for me, and quite frankly, I would expect that we'd be the only ones to ever even look at it.
Make that "Device Image (Build|Nightly) Engineering"

Not horribly pretty, but again, I doubt many people will be looking that closely at the descriptions anyway. I prefer a slightly clunky description with good symbol grouping.
Attachment #802757 - Attachment is obsolete: true
Attachment #802760 - Flags: review?(emorley)
Conveniently, Windows 2012 builds are longer than B2G emulator builds even when fully spelled out. So we can drop yet another abbreviation and still be OK with the patch from bug 914960 applied.
Attachment #802746 - Attachment is obsolete: true
Attachment #802772 - Flags: review?(emorley)
Attachment #802772 - Attachment description: Create a B2G device image type that all builds feed into → Part 1: Create a B2G device image type that all builds feed into
Attachment #802751 - Attachment description: Create new build types for B2G device image builds → Part 2: Create new build types for B2G device image builds
Attachment #802755 - Attachment description: Group B2G device image builds by device type → Part 3: Group B2G device image builds by device type
Attachment #802760 - Attachment description: Change device image names and symbols to better match other lines and nomenclature → Part 4: Change device image names and symbols to better match other lines and nomenclature
Attachment #802772 - Flags: review?(emorley) → review+
Comment on attachment 802751 [details] [diff] [review]
Part 2: Create new build types for B2G device image builds

Review of attachment 802751 [details] [diff] [review]:
-----------------------------------------------------------------

r=me with underscores added :-)

::: js/Data.js
@@ +564,5 @@
> +        /b2g.*helix_dep/i.test(name) ? "Helix Device Image Build" :
> +        /b2g.*inari_dep/i.test(name) ? "Inari Device Image Build" :
> +        /b2g.*leo_dep/i.test(name) ? "Leo Device Image Build" :
> +        /b2g.*unagi_dep/i.test(name) ? "Unagi Device Image Build" :
> +        /b2g.*_dep/i.test(name) ? "Unknown B2G Device Image Build" :

Sorry should have said this on the last pass, but could we add underscores before the device names to be consistent/improve readability (and also hopefully reduce the chance of false positives)? :-)
Attachment #802751 - Flags: review?(emorley) → review+
Comment on attachment 802760 [details] [diff] [review]
Part 4: Change device image names and symbols to better match other lines and nomenclature

Review of attachment 802760 [details] [diff] [review]:
-----------------------------------------------------------------

How about "Foo {Build,Nightly} (Engineering)"? Should still sort correctly and think it reads a bit better :-)
Attachment #802760 - Flags: review?(emorley) → review+
Nice work on this - looks great :-)
Summary: Display all B2G device image builds on one line → Display all B2G device image builds on one line and add support for Nexus 4 builds
Depends on: 916253
In production :)
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Product: Webtools → Tree Management
Product: Tree Management → Tree Management Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: