make project_branches.py work with new b2g builds

RESOLVED FIXED

Status

Release Engineering
General Automation
RESOLVED FIXED
6 years ago
4 years ago

People

(Reporter: bhearsum, Assigned: bhearsum)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments, 2 obsolete attachments)

(Assignee)

Description

6 years ago
I tried enabling this initially as part of bug 758425 but I got all sorts of problems with the loops that merge project_branches.py w/ GLOBAL_VARS and PLATFORM_VARS. Need to figure out how to make this work.
(Assignee)

Comment 1

6 years ago
Created attachment 636420 [details] [diff] [review]
mirror project branch file

I figured that the best way to this is to follow the pattern and mirror project_branches.py, too. The duplication sucks, but I'd rather have it than have b2g_config.py be instructed to ignore a bunch of stuff from project_branches.py (eg, signing stuff) or deal with them meaning different things to config.py and b2g_config.py

I've disabled b2g on project branches that don't appear to have a use for it. We should probably check with owners of each branch to confirm, though.

What do you think of this approach, Rail?
Assignee: nobody → bhearsum
Status: NEW → ASSIGNED
Attachment #636420 - Flags: feedback?(rail)
(Assignee)

Comment 2

6 years ago
So far this seems to be working in staging: http://dev-master01.build.scl1.mozilla.com:8018/one_line_per_build, so that's good.
(Assignee)

Comment 3

6 years ago
Created attachment 636676 [details] [diff] [review]
tested + working patch

This is slightly updated from the last one with some bug fixes and adjustments to which project branches are enabled. I decided to enable builds for general purpose project branches (eg, ionmonkey, jaegermonkey), because they generally aren't working on super specific features, and want to make sure they don't bust things before they push back. I left it disabled for elm and oak because they're still being used for very desktop-specific things. I plan to blog about this change and ask people to file bugs if they want or don't want the builders for their branch.

I also noticed that b2g_{preproduction,staging}_config.py were importing production_config.py =(, so I fixed them to import the correct config.

I'm happy to take a different approach to this if you guys think there's too much duplication here, so don't hold back!
Attachment #636420 - Attachment is obsolete: true
Attachment #636420 - Flags: feedback?(rail)
Attachment #636676 - Flags: review?(rail)
Attachment #636676 - Flags: review?(catlee)
Comment on attachment 636676 [details] [diff] [review]
tested + working patch

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

::: mozilla/b2g_config.py
@@ +9,5 @@
>  # Note that b2g_localconfig.py is symlinked to one of: {production,staging,preproduction}_b2g_config.py
>  import b2g_localconfig
>  reload(b2g_localconfig)
>  
>  # Can't reload this one because it gets reloaded in another file

this comment isn't relevant any more

@@ +273,5 @@
> +#                value = deepcopy(value)
> +#                if isinstance(value, str):
> +#                    value = value % locals()
> +#                BRANCHES[branch]['platforms'][platform][key] = value
> +

remove this block if it's not required

::: mozilla/b2g_project_branches.py
@@ +61,5 @@
> +# Load up project branches' local values
> +for branch in PROJECT_BRANCHES.keys():
> +    PROJECT_BRANCHES[branch]['tinderbox_tree'] = PROJECT_BRANCHES[branch].get('tinderbox_tree', branch.title())
> +    PROJECT_BRANCHES[branch]['mobile_tinderbox_tree'] = PROJECT_BRANCHES[branch].get('mobile_tinderbox_tree', branch.title())
> +    PROJECT_BRANCHES[branch]['packaged_unittest_tinderbox_tree'] = PROJECT_BRANCHES[branch].get('packaged_unittest_tinderbox_tree', branch.title())

I wonder if the tinderbox settings are required any more...

Are we sure we want these builds enabled on all branches?
Attachment #636676 - Flags: review?(catlee) → review+
(Assignee)

Comment 5

6 years ago
(In reply to Chris AtLee [:catlee] from comment #4)
> ::: mozilla/b2g_project_branches.py
> @@ +61,5 @@
> > +# Load up project branches' local values
> > +for branch in PROJECT_BRANCHES.keys():
> > +    PROJECT_BRANCHES[branch]['tinderbox_tree'] = PROJECT_BRANCHES[branch].get('tinderbox_tree', branch.title())
> > +    PROJECT_BRANCHES[branch]['mobile_tinderbox_tree'] = PROJECT_BRANCHES[branch].get('mobile_tinderbox_tree', branch.title())
> > +    PROJECT_BRANCHES[branch]['packaged_unittest_tinderbox_tree'] = PROJECT_BRANCHES[branch].get('packaged_unittest_tinderbox_tree', branch.title())
> 
> I wonder if the tinderbox settings are required any more...
> 
> Are we sure we want these builds enabled on all branches?

Good point! With a small buildbotcustom fix I was able to remove all Tinderbox references in b2g*! New patches incoming.
(Assignee)

Comment 6

6 years ago
Created attachment 636716 [details] [diff] [review]
remove unnecessary comments, tinderbox references
Attachment #636716 - Flags: review?(rail)
Attachment #636716 - Flags: review?(catlee)
(Assignee)

Comment 7

6 years ago
Created attachment 636717 [details] [diff] [review]
set a fallback for graphBranch when tinderbox_tree is missing
Attachment #636717 - Flags: review?(catlee)
Comment on attachment 636716 [details] [diff] [review]
remove unnecessary comments, tinderbox references

lgtm
Attachment #636716 - Flags: review?(rail) → review+
Attachment #636676 - Attachment is obsolete: true
Attachment #636676 - Flags: review?(rail)

Updated

6 years ago
Attachment #636717 - Flags: review?(catlee) → review+

Updated

6 years ago
Attachment #636716 - Flags: review?(catlee) → review+
(Assignee)

Updated

6 years ago
Attachment #636717 - Flags: checked-in+
(Assignee)

Updated

6 years ago
Attachment #636716 - Flags: checked-in+
(Assignee)

Comment 9

6 years ago
Reconfig for this just happened.
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.