New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 618379 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jul 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug



Sign in to add a comment

dart_factory.py shouldn't use ChromiumFactory

Project Member Reported by thakis@chromium.org, Jun 8 2016

Issue description

We want to delete ChromiumFactory. The dart bots are now on recipes, but dart_factory.py still depends on ChromiumFactory. It's probably possible to delete that now that we're on recipes, but I'm not familiar with that code…handing to someone who knows this better.
 
In general, the dart factories use many things that no other factory uses. I think it's the only waterfall that still uses:

* visual studio for building on windows (instead of ninja)
* xcodebuild for building on mac (instead of ninja)
* --clobber as parameter to compile.py instead of clobbering as a separate step (see  bug 574557 )

I want to remove support for these things from compile.py soon, so please update the dartium waterfalls so they don't break when I do.

Comment 2 by whesse@google.com, Jun 8 2016

OK, I'll file issues for these and start working on them.  The timeframe should be weeks, not days, but I'll prioritize these things.  I'll put links to the issues here, as I create them.
Now starting work on this.  Our Dartium builders are still not on recipes - I'm making a recipe for them now.  Expect progress next week.

I'm not sure if the chromium recipe will work to build dartium, or if I should just do a general gclient checkout and build recipe.  I'd love to get help on this, if someone can do a VC or email thread with me, who understands the Chromium compilation recipes.
Dartium builds are now on recipes, not using dart_factory.py.  I'll delete dart_factory in an upcoming CL.

Other aspects of compilation, that are in the chromium repos, not the infra repos, can be changed freely, because we have a branch of chromium src and blink, and will not be updating past version 50.
Project Member

Comment 5 by bugdroid1@chromium.org, Sep 9 2016

Project Member

Comment 6 by bugdroid1@chromium.org, Sep 9 2016

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8592bf9cac021f55ab1c118d00d92964d316aa6d

commit 8592bf9cac021f55ab1c118d00d92964d316aa6d
Author: recipe-roller <recipe-roller@chromium.org>
Date: Fri Sep 09 08:10:26 2016

Roll recipe dependencies (trivial).

This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug
(or complain)

build:
  https://crrev.com/fedd382eb821d2766ff835440d6017b357b7edff Remove old dartium_factory builders, clean up slaves.cfg files. (whesse@google.com)

TBR=martiniss@chromium.org,phajdan.jr@chromium.org
BUG=https://bugs.chromium.org/p/chromium/issues/detail?id=618379

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Review-Url: https://codereview.chromium.org/2319223005
Cr-Commit-Position: refs/heads/master@{#417534}

[modify] https://crrev.com/8592bf9cac021f55ab1c118d00d92964d316aa6d/infra/config/recipes.cfg

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra.git/+/80c451802bd6c6ab1ae876b121f0cd923670d611

commit 80c451802bd6c6ab1ae876b121f0cd923670d611
Author: recipe-roller <recipe-roller@chromium.org>
Date: Fri Sep 09 08:41:15 2016

Roll recipe dependencies (trivial).

This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).

More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug
(or complain)

build:
  https://crrev.com/fedd382eb821d2766ff835440d6017b357b7edff Remove old dartium_factory builders, clean up slaves.cfg files. (whesse@google.com)

TBR=martiniss@chromium.org,phajdan.jr@chromium.org
BUG=https://bugs.chromium.org/p/chromium/issues/detail?id=618379

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Review-Url: https://codereview.chromium.org/2319093005

[modify] https://crrev.com/80c451802bd6c6ab1ae876b121f0cd923670d611/infra/config/recipes.cfg

Ping - please provide an update to your high priority bug. This bug is stale. Is it really P-1?
Components: -Infra>Platform>Recipes Infra>Client>Dart
What's the status of this?

Comment 11 by whesse@google.com, May 16 2017

None of the dartium bots use DartFactory anymore, so the dependence of DartFactory on ChromiumFactory can be removed.  I am tracing all the builders that use DartFactory, to see their paths through the DartFactory code and how it can be replaced by recipes, but none of them should be going into the code paths that use ChromiumFactory.

Some are using Gclient factory, but I ill remove that dependence by removing their dependence on DartFactory, so DartFactory can be deleted.

My first move will be to remove any dependence on ChromiumFactory, though.

Comment 12 by whesse@google.com, May 22 2017

CL https://chromium-review.googlesource.com/c/509616/ removes all uses on client.dart and client.fyi.

A followup CL will remove the client.dart.packages uses, and all factory dependencies and code from factory/dart/dart_factory.py.

The followup should land within a day or two.
Project Member

Comment 13 by bugdroid1@chromium.org, May 23 2017

Project Member

Comment 15 by bugdroid1@chromium.org, May 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/10498fb56d317dae4301250480c55e7d251fbe00

commit 10498fb56d317dae4301250480c55e7d251fbe00
Author: William Hesse <whesse@chromium.org>
Date: Tue May 30 14:16:46 2017

Remove DartFactory and other unused code

There are no dependencies from factory/dart on other factory code
after this. There are still some utility functions in dart_factory.py
that are used by the masters, but they could be moved to any other
appropriate directory, if factory/dart should be deleted.

Bug:  618379 
Change-Id: I711237835f22056d72c7e5e34596f90b6a6b13b0
Reviewed-on: https://chromium-review.googlesource.com/518128
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>

[modify] https://crrev.com/10498fb56d317dae4301250480c55e7d251fbe00/scripts/slave/recipes/dart/packagebot.py
[delete] https://crrev.com/0f1cea68b64bca76d85bc4ff8c9293c2c7f0ef8d/scripts/master/factory/dart/dartino_factory.py
[modify] https://crrev.com/10498fb56d317dae4301250480c55e7d251fbe00/scripts/slave/recipes/dart/packagebot.expected/packages-linux-async.json
[modify] https://crrev.com/10498fb56d317dae4301250480c55e7d251fbe00/scripts/slave/recipes/dart/packagebot.expected/packages-windows-intl.json
[delete] https://crrev.com/0f1cea68b64bca76d85bc4ff8c9293c2c7f0ef8d/scripts/master/factory/dart/dart_commands.py
[modify] https://crrev.com/10498fb56d317dae4301250480c55e7d251fbe00/scripts/master/factory/dart/dart_factory.py
[modify] https://crrev.com/10498fb56d317dae4301250480c55e7d251fbe00/scripts/master/factory/dart/OWNERS

Comment 16 by whesse@google.com, Jul 17 2017

Status: Fixed (was: Assigned)
I believe this bug is fixed.  If the entire factory directory should be deleted, then we need to move the file factory/dart/dart_factory.py to a different place, since it contains utility functions (used by recipes, no non-recipe factories left).

Sign in to add a comment