Closed Bug 1236954 Opened 4 years ago Closed 4 years ago

Add standalone builder for partner repacks

Categories

(Release Engineering :: Custom Release Requests, defect)

defect
Not set

Tracking

(firefox47 fixed)

RESOLVED FIXED
Tracking Status
firefox47 --- fixed

People

(Reporter: coop, Assigned: coop)

References

Details

Attachments

(3 files, 1 obsolete file)

One regular use-case that isn't covered by current automation is generating one-off partner repacks for a particular partner. This happens frequently enough that we should have a standalone builder.

The new mh script in bug 1236951 can already handle this, we just need the corresponding builder created.
Assignee: nobody → coop
Status: NEW → ASSIGNED
Adds --require-buildprops option used by the standalone builder. When this option is
specified, a partner property must be present in the buildprops.json file. This limits
the repack operation to that single partner.

Review commit: https://reviewboard.mozilla.org/r/32339/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/32339/
Attachment #8711829 - Flags: review?(jlund)
Comment on attachment 8711829 [details]
MozReview Request: Bug 1236954 - partner repack script changes to read properties from buildprops.json; r?jlund

https://reviewboard.mozilla.org/r/32339/#review29111

lgtm :)
Attachment #8711829 - Flags: review?(jlund) → review+
Comment on attachment 8711823 [details]
MozReview Request: Bug 1236954 - add standalone partner repack factory; r?jlund

https://reviewboard.mozilla.org/r/32327/#review29113

looks great. just a couple questions about platform.

::: process/release.py:910
(Diff revision 1)
>                          "--platform", platform,

note: in your non standalone repack builders you pass '--platform' in mh script arg and you pass "platform" in buildbot properties. in standalone you only pass via buildbot props.

::: process/release.py:944
(Diff revision 1)
> +        platform = "macosx64"

hmm, was this for debugging or did you only want standalone for osx?
Attachment #8711823 - Flags: review?(jlund)
https://reviewboard.mozilla.org/r/32327/#review29113

> hmm, was this for debugging or did you only want standalone for osx?

Regardless of target platform, repacks only work on osx, so that's the only platform we need.
https://reviewboard.mozilla.org/r/32327/#review29113

> note: in your non standalone repack builders you pass '--platform' in mh script arg and you pass "platform" in buildbot properties. in standalone you only pass via buildbot props.

The standard use-case for this is respinning a single partner because of a late change in their config. In this case, you want all platforms and just provide the partner name in the properties.
Comment on attachment 8711823 [details]
MozReview Request: Bug 1236954 - add standalone partner repack factory; r?jlund

https://reviewboard.mozilla.org/r/32327/#review29767
Attachment #8711823 - Flags: review+
Comment on attachment 8711823 [details]
MozReview Request: Bug 1236954 - add standalone partner repack factory; r?jlund

https://hg.mozilla.org/build/buildbotcustom/rev/a7bd1793a7ab
Attachment #8711823 - Flags: checked-in+
https://hg.mozilla.org/integration/mozilla-inbound/rev/499c7f2126a0aefc1d8509864e0be4523fef7fc1
Bug 1236954 - partner repack script changes to read properties from buildprops.json (NPOTB, DONTBUILD); r=jlund
https://hg.mozilla.org/mozilla-central/rev/499c7f2126a0
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Comment on attachment 8711823 [details]
MozReview Request: Bug 1236954 - add standalone partner repack factory; r?jlund

backed out for now till we diagnose:

10:22:01 <Callek> https://irccloud.mozilla.com/pastebin/pek5LJz7
10:23:10 <Callek> ahhh its more likely jlund and coop: https://hg.mozilla.org/build/buildbotcustom/rev/a7bd1793a7ab
10:25:35 <jlund> so we are missing config_file somewhere for partnerRepackConfig
10:26:38 <•coop> do we need uplift?
10:27:08 <jlund> oh, maybe config_file is too nested
10:28:21 <jlund> coop: https://dxr.mozilla.org/build-central/source/buildbot-configs/mozilla/release-firefox-mozilla-beta.py#164 vs https://dxr.mozilla.org/build-central/source/buildbot-configs/mozilla/release-fennec-mozilla-release.py#99


backout and merge to default:

remote:   https://hg.mozilla.org/build/buildbotcustom/rev/708d6f514771
remote:   https://hg.mozilla.org/build/buildbotcustom/rev/dd991a2a11b2

merged to production:
remote:   https://hg.mozilla.org/build/buildbotcustom/rev/90c1128b4ce9
Attachment #8711823 - Flags: checked-in+ → checked-in-
Backed out due to fennec config errors. New patch incoming.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
The interdiff is adding the following conditional:

+        if releaseConfig['productName'] == 'firefox':

...and then an extra level of indentation for the rest of the patch.

AFAIK, we still don't even do mobile repacks, so we shouldn't need to worry about this for fennec.
Attachment #8720416 - Flags: review?(jlund)
Comment on attachment 8720416 [details] [diff] [review]
[buildbotcustom] Add standalone partner repack factory, v1

we discussed and a further patch is coming
Attachment #8720416 - Flags: review?(jlund)
(In reply to Jordan Lund (:jlund) from comment #14)
> 10:22:01 <Callek> https://irccloud.mozilla.com/pastebin/pek5LJz7
> 10:23:10 <Callek> ahhh its more likely jlund and coop:
> https://hg.mozilla.org/build/buildbotcustom/rev/a7bd1793a7ab
> 10:25:35 <jlund> so we are missing config_file somewhere for
> partnerRepackConfig
> 10:26:38 <•coop> do we need uplift?
> 10:27:08 <jlund> oh, maybe config_file is too nested
> 10:28:21 <jlund> coop:
> https://dxr.mozilla.org/build-central/source/buildbot-configs/mozilla/
> release-firefox-mozilla-beta.py#164 vs
> https://dxr.mozilla.org/build-central/source/buildbot-configs/mozilla/
> release-fennec-mozilla-release.py#99

Same patch as before, except now I check that the product != "fennec" at the start of the block. We setup release fennec partner repacks, but have never actually had any.
Attachment #8720416 - Attachment is obsolete: true
Attachment #8751503 - Flags: review?(jlund)
Comment on attachment 8751503 [details] [diff] [review]
[buildbotcustom] Add standalone partner repack factory, v2

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

i'm probably missing something but I still feel like we should be driving this condition from configs: e.g. https://dxr.mozilla.org/build-central/source/buildbot-configs/mozilla/release-fennec-mozilla-release.py#91

regardless though, everything we add to buildbot I suppose is a stopgap so keying off a restricted product list defined at buildbotcustom factory level, I don't really mind :)
Attachment #8751503 - Flags: review?(jlund) → review+
(In reply to Jordan Lund (:jlund) from comment #20)
> Comment on attachment 8751503 [details] [diff] [review]
> [buildbotcustom] Add standalone partner repack factory, v2
> 
> Review of attachment 8751503 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> i'm probably missing something but I still feel like we should be driving
> this condition from configs: e.g.
> https://dxr.mozilla.org/build-central/source/buildbot-configs/mozilla/
> release-fennec-mozilla-release.py#91

Oh, we do. All the partner factories (including this one) are wrapped in a doPartnerRepacks() check at the outset. They aren't even created if that's set to False.
Attachment #8751503 - Flags: checked-in+
(In reply to Chris AtLee [:catlee] from comment #23)
> This is breaking travis:
> https://travis-ci.org/mozilla/build-buildbot-configs/builds/130016034

I'm confused. That link shows a passing build.
gah, I re-ran them in travis after I backed the code out, and now can't find the previous results.

it was generating this error:
https://bugzilla.mozilla.org/show_bug.cgi?id=1272467#c2
Status: REOPENED → RESOLVED
Closed: 4 years ago4 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.