Include a Jumbo build in Commit Queue |
|||||||||||
Issue descriptionParts of Chromium already build with with Jumbo https://bugs.chromium.org/p/chromium/issues/detail?id=746956 For people who don't have Goma access (e.g. non Google contributors, people working offline), this gives valued build time advantages. To "lock in" progress, we should include a Jumbo build in the commit queue. We could start with a single platform.
,
Jan 9 2018
If we start with Linux, it shouldn't be too hard to add one GCE-based bot that compiles with Jumbo. However, this will probably have to wait until after the LUCI conversion which is starting to happen any day now. Making available, given it's low priority.
,
Jan 9 2018
We're currently capacity-constrained in the CQ, else I would've already done this. It's not low priority, and it's not (and shouldn't be) blocked on the LUCI conversion.
,
Jan 9 2018
Do we currently build everything from scratch on each run? If so, Jumbo might eventually help us with CQ capacity if we suspect we will be able to migrate a non-trivial portion of the runs to Jumbo.
,
Jan 9 2018
No, we do incremental builds where we can.
,
Jan 9 2018
Do we have any knowledge about how jumbo affects compilation times for the standard cq build? Or maybe it actually does not matter since 95% of the time is spent running tests.
,
Jan 9 2018
No, we don't know yet. Depending on the builder, compilation time can certainly be a big part of the total.
,
Mar 29 2018
Raising priority. martiniss, are you ok with handling this?
,
Mar 29 2018
I can handle this. Compile time is semi significant, depending on the builder. So if jumbo builds make things faster, that could be useful. Although I'm a bit wary of switching to it, if most devs don't do jumbo builds. I don't know if that's the case or not though.
,
Mar 29 2018
Switching elsewhere is out of scope for this bug; we just want to spin up a new CQ bot and have it use jumbo builds. We can have the switch discussion at a later date.
,
Mar 29 2018
> Although I'm a bit wary of switching to it, if most devs don't do jumbo builds. I don't know if that's the case or not though. Most Google devs probably use GOMA because it's faster, but Jumbo makes build times bearable for external contributors. Having a Jumbo builder in the CQ would reduce code churn (fewer jumbo fixups required), which would benefit both Googlers and external developers.
,
Mar 29 2018
(Can we add a bot, rather than switching an existing bot from non-jumbo to jumbo?)
,
Mar 29 2018
I was going to add a linux bot, running on LUCI, which does a jumbo build.
,
Mar 29 2018
Yup, that's the thing to do :).
,
Mar 29 2018
To be clear, we only care about the compile, right? Do we need to run tests with the jumbo build as well?
,
Mar 29 2018
Also, should it be release or not? Any preference of other gn args to set?
,
Mar 29 2018
There are existing mac, linux, win bots on chromium.fyi; https://ci.chromium.org/buildbot/chromium.fyi/Jumbo%20Linux%20x64/ and others. Should we just promote these to the real waterfalls and make sheriffs monitor them?
,
Mar 29 2018
IMO jumbo bots should compile + run tests, since it's theoretically possible that jumbo builds can change runtime behaviour since it alters symbol lookups (I'm not sure if we have encountered this in practice so far).
,
Mar 29 2018
I think we don't need to run tests at this time, and I'd do a release build w/ the same flags as linux_chromium_rel_ng (and build `all` like that bot does). We should move the Jumbo Linux x64 builder onto chromium.linux (or the luci equivalent) as part of this.
,
Mar 29 2018
We specifically want this config in the CQ (rather than *just* on the main waterfall) because it is likely to break often and you want to catch it up front.
,
Mar 29 2018
Yeah, I don't know if we have capacity to run tests right now. If it's a significant problem, and people encounter it regularly in practice, then we can add it later. Everything seems fine; the only thing i'm worried about is it being hard for sheriffs and devs to debug failures on the CQ or waterfall bot. I think i'm going to move the linux bot first, then mac and windows after.
,
Mar 29 2018
SGTM. Thankyou!
,
Mar 30 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/infradata/config/+/813f8a4dd85680f40aab35e91a0144f5ce1da856 commit 813f8a4dd85680f40aab35e91a0144f5ce1da856 Author: Stephen Martinis <martiniss@google.com> Date: Fri Mar 30 21:22:26 2018
,
Apr 2 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/tools/build/+/50d52328031cee379dce59180c0c2e0d141515f2 commit 50d52328031cee379dce59180c0c2e0d141515f2 Author: Stephen Martinis <martiniss@chromium.org> Date: Mon Apr 02 19:57:13 2018 Add jumbo builder configs to chromium tests Bug: 782863 Change-Id: Idf7ffe5bc5e60235dcc635148ba5a002f8473315 Reviewed-on: https://chromium-review.googlesource.com/988819 Commit-Queue: Stephen Martinis <martiniss@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> [modify] https://crrev.com/50d52328031cee379dce59180c0c2e0d141515f2/scripts/slave/recipe_modules/chromium_tests/chromium_win.py [modify] https://crrev.com/50d52328031cee379dce59180c0c2e0d141515f2/scripts/slave/recipe_modules/chromium_tests/chromium_mac.py [modify] https://crrev.com/50d52328031cee379dce59180c0c2e0d141515f2/scripts/slave/recipe_modules/chromium_tests/chromium_linux.py [modify] https://crrev.com/50d52328031cee379dce59180c0c2e0d141515f2/tests/masters_recipes_test.py
,
Apr 3 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/063db02d6684cf04f1041a21ebb0d495062cd737 commit 063db02d6684cf04f1041a21ebb0d495062cd737 Author: Stephen Martinis <martiniss@chromium.org> Date: Tue Apr 03 20:36:09 2018 Add linux jumbo builder Bug: 782863 Change-Id: If74a5d771c96eb1d6047f657f863562392ff697a Reviewed-on: https://chromium-review.googlesource.com/988816 Commit-Queue: Stephen Martinis <martiniss@chromium.org> Reviewed-by: Nodir Turakulov <nodir@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Cr-Commit-Position: refs/heads/master@{#547816} [modify] https://crrev.com/063db02d6684cf04f1041a21ebb0d495062cd737/infra/config/global/cr-buildbucket.cfg [modify] https://crrev.com/063db02d6684cf04f1041a21ebb0d495062cd737/infra/config/global/luci-milo.cfg [modify] https://crrev.com/063db02d6684cf04f1041a21ebb0d495062cd737/infra/config/global/luci-scheduler.cfg [modify] https://crrev.com/063db02d6684cf04f1041a21ebb0d495062cd737/testing/buildbot/chromium.linux.json [modify] https://crrev.com/063db02d6684cf04f1041a21ebb0d495062cd737/testing/buildbot/waterfalls.pyl [modify] https://crrev.com/063db02d6684cf04f1041a21ebb0d495062cd737/tools/mb/mb_config.pyl
,
Apr 4 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/infradata/config/+/d3e21e7acce8a1fe860e22551fdb84554396a61d commit d3e21e7acce8a1fe860e22551fdb84554396a61d Author: Stephen Martinis <martiniss@google.com> Date: Wed Apr 04 23:45:39 2018
,
Apr 5 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ee27d20255d21352bc07260219eb8a3df9d6b0c7 commit ee27d20255d21352bc07260219eb8a3df9d6b0c7 Author: Stephen Martinis <martiniss@chromium.org> Date: Thu Apr 05 00:09:05 2018 Rename new jumbo builder Builder was renamed in https://chromium-review.googlesource.com/c/chromium/tools/build/+/988819, but I forgot to apply that rename in https://chromium-review.googlesource.com/c/chromium/src/+/988816 TBR=nodir,dpranke NOTRY=true Bug: 782863 Change-Id: I35a74f670ebcc3ae266086eba800d41fe95b77e3 Reviewed-on: https://chromium-review.googlesource.com/993976 Commit-Queue: Stephen Martinis <martiniss@chromium.org> Reviewed-by: Stephen Martinis <martiniss@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Cr-Commit-Position: refs/heads/master@{#548264} [modify] https://crrev.com/ee27d20255d21352bc07260219eb8a3df9d6b0c7/infra/config/global/cr-buildbucket.cfg [modify] https://crrev.com/ee27d20255d21352bc07260219eb8a3df9d6b0c7/infra/config/global/luci-milo.cfg [modify] https://crrev.com/ee27d20255d21352bc07260219eb8a3df9d6b0c7/infra/config/global/luci-scheduler.cfg [modify] https://crrev.com/ee27d20255d21352bc07260219eb8a3df9d6b0c7/testing/buildbot/chromium.linux.json [modify] https://crrev.com/ee27d20255d21352bc07260219eb8a3df9d6b0c7/testing/buildbot/waterfalls.pyl [modify] https://crrev.com/ee27d20255d21352bc07260219eb8a3df9d6b0c7/tools/mb/mb_config.pyl
,
Apr 10 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/608c1785a332908b474f8892c344a4ca4d072373 commit 608c1785a332908b474f8892c344a4ca4d072373 Author: Stephen Martinis <martiniss@chromium.org> Date: Tue Apr 10 18:26:59 2018 linux64-jumbo-rel: Fix cores dimension Existing FYI bot has 8 cores, so I got a new machine that has 8 as well. Bug: 782863 Change-Id: I9d92de1326e753447ea9c8b90c1bde63c217a122 Reviewed-on: https://chromium-review.googlesource.com/998177 Commit-Queue: Stephen Martinis <martiniss@chromium.org> Reviewed-by: Nodir Turakulov <nodir@chromium.org> Cr-Commit-Position: refs/heads/master@{#549598} [modify] https://crrev.com/608c1785a332908b474f8892c344a4ca4d072373/infra/config/global/cr-buildbucket.cfg
,
Apr 10 2018
Linux builder is finally set up. I'll make a mac and windows CI builder. Make sure those pass, then create the CQ bots.
,
Apr 12 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/infradata/config/+/e99a3a3ba9bdbfb73b64024bc4a0357333f2be46 commit e99a3a3ba9bdbfb73b64024bc4a0357333f2be46 Author: Stephen Martinis <martiniss@google.com> Date: Thu Apr 12 00:20:01 2018
,
Apr 13 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/419dbe7d63a9a2cf089c9ab5c16ce670575b280f commit 419dbe7d63a9a2cf089c9ab5c16ce670575b280f Author: Stephen Martinis <martiniss@chromium.org> Date: Fri Apr 13 23:25:10 2018 Add Win and Mac jumbo builders Bug: 782863 Change-Id: I49d7f37df31d0037be2e9b378d74ef4851df34df Reviewed-on: https://chromium-review.googlesource.com/1008848 Reviewed-by: Ryan Tseng <hinoka@chromium.org> Reviewed-by: Nodir Turakulov <nodir@chromium.org> Reviewed-by: John Budorick <jbudorick@chromium.org> Commit-Queue: Stephen Martinis <martiniss@chromium.org> Cr-Commit-Position: refs/heads/master@{#550810} [modify] https://crrev.com/419dbe7d63a9a2cf089c9ab5c16ce670575b280f/infra/config/global/cr-buildbucket.cfg [modify] https://crrev.com/419dbe7d63a9a2cf089c9ab5c16ce670575b280f/infra/config/global/luci-milo.cfg [modify] https://crrev.com/419dbe7d63a9a2cf089c9ab5c16ce670575b280f/infra/config/global/luci-scheduler.cfg [modify] https://crrev.com/419dbe7d63a9a2cf089c9ab5c16ce670575b280f/testing/buildbot/chromium.mac.json [modify] https://crrev.com/419dbe7d63a9a2cf089c9ab5c16ce670575b280f/testing/buildbot/chromium.win.json [modify] https://crrev.com/419dbe7d63a9a2cf089c9ab5c16ce670575b280f/testing/buildbot/waterfalls.pyl [modify] https://crrev.com/419dbe7d63a9a2cf089c9ab5c16ce670575b280f/tools/mb/mb_config.pyl
,
Apr 17 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/419dbe7d63a9a2cf089c9ab5c16ce670575b280f commit 419dbe7d63a9a2cf089c9ab5c16ce670575b280f Author: Stephen Martinis <martiniss@chromium.org> Date: Fri Apr 13 23:25:10 2018 Add Win and Mac jumbo builders Bug: 782863 Change-Id: I49d7f37df31d0037be2e9b378d74ef4851df34df Reviewed-on: https://chromium-review.googlesource.com/1008848 Reviewed-by: Ryan Tseng <hinoka@chromium.org> Reviewed-by: Nodir Turakulov <nodir@chromium.org> Reviewed-by: John Budorick <jbudorick@chromium.org> Commit-Queue: Stephen Martinis <martiniss@chromium.org> Cr-Commit-Position: refs/heads/master@{#550810} [modify] https://crrev.com/419dbe7d63a9a2cf089c9ab5c16ce670575b280f/infra/config/global/cr-buildbucket.cfg [modify] https://crrev.com/419dbe7d63a9a2cf089c9ab5c16ce670575b280f/infra/config/global/luci-milo.cfg [modify] https://crrev.com/419dbe7d63a9a2cf089c9ab5c16ce670575b280f/infra/config/global/luci-scheduler.cfg [modify] https://crrev.com/419dbe7d63a9a2cf089c9ab5c16ce670575b280f/testing/buildbot/chromium.mac.json [modify] https://crrev.com/419dbe7d63a9a2cf089c9ab5c16ce670575b280f/testing/buildbot/chromium.win.json [modify] https://crrev.com/419dbe7d63a9a2cf089c9ab5c16ce670575b280f/testing/buildbot/waterfalls.pyl [modify] https://crrev.com/419dbe7d63a9a2cf089c9ab5c16ce670575b280f/tools/mb/mb_config.pyl
,
Apr 18 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/infradata/config/+/d6b277c53aca6a6d31ceeaa33914dc4c3c874154 commit d6b277c53aca6a6d31ceeaa33914dc4c3c874154 Author: Stephen Martinis <martiniss@google.com> Date: Wed Apr 18 00:04:03 2018
,
Apr 18 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/tools/build/+/0dbfd6865c2308787e06b63a2c02a8b2ac597737 commit 0dbfd6865c2308787e06b63a2c02a8b2ac597737 Author: Stephen Martinis <martiniss@chromium.org> Date: Wed Apr 18 00:11:59 2018 Rename jumbo builders TBR=jbudorick Bug: 782863 Change-Id: I030af9e9f903eec4fa957d74220221e8fb8cfc09 Reviewed-on: https://chromium-review.googlesource.com/1014652 Commit-Queue: Stephen Martinis <martiniss@chromium.org> Reviewed-by: Stephen Martinis <martiniss@chromium.org> [modify] https://crrev.com/0dbfd6865c2308787e06b63a2c02a8b2ac597737/scripts/slave/recipe_modules/chromium_tests/chromium_win.py [modify] https://crrev.com/0dbfd6865c2308787e06b63a2c02a8b2ac597737/scripts/slave/recipe_modules/chromium_tests/chromium_linux.py [modify] https://crrev.com/0dbfd6865c2308787e06b63a2c02a8b2ac597737/tests/masters_recipes_test.py
,
Apr 18 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/tools/build/+/f883b71e8ab3dfabe0e04bb442d343fdc89f4d78 commit f883b71e8ab3dfabe0e04bb442d343fdc89f4d78 Author: Stephen Martinis <martiniss@chromium.org> Date: Wed Apr 18 00:17:08 2018 Add jumbo trybots Bug: 782863 Change-Id: I77f9c280013f6f69dfe933307c3b71604e423473 Reviewed-on: https://chromium-review.googlesource.com/1012496 Commit-Queue: Stephen Martinis <martiniss@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> [modify] https://crrev.com/f883b71e8ab3dfabe0e04bb442d343fdc89f4d78/tests/masters_recipes_test.py [modify] https://crrev.com/f883b71e8ab3dfabe0e04bb442d343fdc89f4d78/scripts/slave/recipe_modules/chromium_tests/trybots.py
,
Apr 18 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/infradata/config/+/309a19cc9e748784adcdddc5b2c69ff00eb0cadf commit 309a19cc9e748784adcdddc5b2c69ff00eb0cadf Author: Stephen Martinis <martiniss@google.com> Date: Wed Apr 18 00:54:43 2018
,
Apr 18 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9be344575d6461b44b3f904509ded05f39d8fda0 commit 9be344575d6461b44b3f904509ded05f39d8fda0 Author: Stephen Martinis <martiniss@chromium.org> Date: Wed Apr 18 02:57:28 2018 Fix jumbo bot names Platforms are 64 bit by default, don't need to have it as a suffix. TBR=dpranke Bug: 782863 Change-Id: Ia97dab4a9f0a141b918faa8e523e56f95504c0d0 Reviewed-on: https://chromium-review.googlesource.com/1014647 Reviewed-by: Stephen Martinis <martiniss@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> Reviewed-by: Ryan Tseng <hinoka@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Stephen Martinis <martiniss@chromium.org> Cr-Commit-Position: refs/heads/master@{#551560} [modify] https://crrev.com/9be344575d6461b44b3f904509ded05f39d8fda0/infra/config/global/cr-buildbucket.cfg [modify] https://crrev.com/9be344575d6461b44b3f904509ded05f39d8fda0/infra/config/global/luci-milo.cfg [modify] https://crrev.com/9be344575d6461b44b3f904509ded05f39d8fda0/infra/config/global/luci-scheduler.cfg [modify] https://crrev.com/9be344575d6461b44b3f904509ded05f39d8fda0/testing/buildbot/chromium.linux.json [modify] https://crrev.com/9be344575d6461b44b3f904509ded05f39d8fda0/testing/buildbot/chromium.win.json [modify] https://crrev.com/9be344575d6461b44b3f904509ded05f39d8fda0/testing/buildbot/waterfalls.pyl
,
Apr 18 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f3150125ff552dc17f7706a76fc39e5c90c27347 commit f3150125ff552dc17f7706a76fc39e5c90c27347 Author: Stephen Martinis <martiniss@chromium.org> Date: Wed Apr 18 05:04:29 2018 Fix mb config for jumbo builders TBR=dpranke Bug: 782863 Change-Id: I58d9133edb8ef51ab5cd3c6cf9fdb8684cc007b5 Reviewed-on: https://chromium-review.googlesource.com/1016172 Reviewed-by: Stephen Martinis <martiniss@chromium.org> Commit-Queue: Stephen Martinis <martiniss@chromium.org> Cr-Commit-Position: refs/heads/master@{#551585} [modify] https://crrev.com/f3150125ff552dc17f7706a76fc39e5c90c27347/tools/mb/mb_config.pyl
,
Apr 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6d7c1c050ade1132e8be83c217c7700663756113 commit 6d7c1c050ade1132e8be83c217c7700663756113 Author: Stephen Martinis <martiniss@chromium.org> Date: Thu Apr 19 03:10:10 2018 Add jumbo trybots Bug: 782863 Change-Id: I6f2627b2c6bbc287f73df6550cb22152fa645202 Reviewed-on: https://chromium-review.googlesource.com/1014650 Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Stephen Martinis <martiniss@chromium.org> Cr-Commit-Position: refs/heads/master@{#551931} [modify] https://crrev.com/6d7c1c050ade1132e8be83c217c7700663756113/infra/config/global/cr-buildbucket.cfg [modify] https://crrev.com/6d7c1c050ade1132e8be83c217c7700663756113/infra/config/global/luci-milo.cfg [modify] https://crrev.com/6d7c1c050ade1132e8be83c217c7700663756113/tools/mb/mb_config.pyl
,
Apr 24 2018
An update! The trybots are live right now. I want to test them and make sure they work correctly before adding them to the CQ. I'm also worried that regular chromium sheriffs won't know how to deal with failures on these bots, but that's something I would know less about. There's currently an issue blocking this, which has to do with how we generate a buildbucket config. I can't seem to trigger a job for the new trybots until this gets fixed.
,
Apr 24 2018
,
Apr 24 2018
#40: I wouldn't be too concerned about sheriffs not knowing how to deal with failures on these bots. Sheriffs are rarely familiar with all of the bots for which they're responsible. Does `git cl try -B luci.chromium.try -b linux-jumbo-rel` not work?
,
Apr 24 2018
That does! Thanks, I tried that but maybe missed the '-B' argument.
,
Apr 25 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/infradata/config/+/8e4a30938268ac72bf36b6a7e5040827fb313540 commit 8e4a30938268ac72bf36b6a7e5040827fb313540 Author: Stephen Martinis <martiniss@google.com> Date: Wed Apr 25 00:19:12 2018
,
Apr 25 2018
Really appreciate all the work you do! Is it always this much effort to add something to CQ?
,
Apr 25 2018
I created this on LUCI, so it's not always this bad. I think there are plans to streamline it in the future and catch small errors like the ones I made. So hopefully it won't be this complicated in the future.
,
Apr 26 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e4b207b7b177153114e77c91f71a861202f79939 commit e4b207b7b177153114e77c91f71a861202f79939 Author: Stephen Martinis <martiniss@chromium.org> Date: Thu Apr 26 03:22:44 2018 Fix mac jumbo try builder core dimension Bug: 782863 Change-Id: I9565b84c027f0c88dfb4ee02602a2d49c3a95016 Reviewed-on: https://chromium-review.googlesource.com/1029218 Reviewed-by: Ryan Tseng <hinoka@chromium.org> Commit-Queue: Stephen Martinis <martiniss@chromium.org> Cr-Commit-Position: refs/heads/master@{#553881} [modify] https://crrev.com/e4b207b7b177153114e77c91f71a861202f79939/infra/config/global/cr-buildbucket.cfg
,
May 7 2018
Ok, I'm going to get additional capacity to have a compile only trybot on the CQ. I think I'll need 60 windows machines 20 linux machines 25 mac machines I based these on the existing optional trybots on the CQ, win_chromium_compile_dbg_ng, linux_chromium_compile_dbg_ng, and mac_chromium_compile_dbg_ng I'll ask labs for these machines.
,
May 7 2018
,
May 7 2018
,
May 8 2018
Let's just start w/ Linux. That will likely be enough for us to get real data comparing jumbo/non-jumbo, and it may be sufficient to catch nearly all of the breakages.
,
May 9 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/infradata/config/+/39e8503018afbb995ae7a2d4381ff324b4fca7b5 commit 39e8503018afbb995ae7a2d4381ff324b4fca7b5 Author: Stephen Martinis <martiniss@google.com> Date: Wed May 09 00:57:39 2018
,
May 18 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/51d0c88a708dbef53e0e37b949ac3666c7235016 commit 51d0c88a708dbef53e0e37b949ac3666c7235016 Author: Stephen Martinis <martiniss@chromium.org> Date: Fri May 18 00:50:53 2018 Add linux jumbo bot as CQ experiment Bug: 782863 Change-Id: I1159a824b4c42d1482656fdc14279339b4d7511c Reviewed-on: https://chromium-review.googlesource.com/1065212 Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Stephen Martinis <martiniss@chromium.org> Cr-Commit-Position: refs/heads/master@{#559758} [modify] https://crrev.com/51d0c88a708dbef53e0e37b949ac3666c7235016/infra/config/branch/cq.cfg
,
May 21 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/532569b00f8a3a2da1ba8205a83c9048284fb5c3 commit 532569b00f8a3a2da1ba8205a83c9048284fb5c3 Author: Stephen Martinis <martiniss@chromium.org> Date: Mon May 21 23:31:02 2018 Bump linux jumbo rel exp percentage to 50% Bug: 782863 Change-Id: Ifa4b8dae11353a57af76c7bda97d2b0650fb0952 Reviewed-on: https://chromium-review.googlesource.com/1066707 Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Stephen Martinis <martiniss@chromium.org> Cr-Commit-Position: refs/heads/master@{#560403} [modify] https://crrev.com/532569b00f8a3a2da1ba8205a83c9048284fb5c3/infra/config/branch/cq.cfg
,
May 22 2018
Looking good?
,
May 31 2018
It's looking good so far. Sorry, got distracted with other work. I'll set it to 100% experiment to see if it can handle CQ load.
,
May 31 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/41b384d66490cf7cf386229610731aae27f6a414 commit 41b384d66490cf7cf386229610731aae27f6a414 Author: Stephen Martinis <martiniss@chromium.org> Date: Thu May 31 00:38:29 2018 Set linux jumbo bot to 100% experiment If it overloads the bot, it's not a real issue. Want to see if it can handle full CQ load Bug: 782863 Change-Id: I776efe034ce66bb12b0ea846c706d4e8e08b7893 Reviewed-on: https://chromium-review.googlesource.com/1080270 Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Stephen Martinis <martiniss@chromium.org> Cr-Commit-Position: refs/heads/master@{#563089} [modify] https://crrev.com/41b384d66490cf7cf386229610731aae27f6a414/infra/config/branch/cq.cfg
,
Jun 6 2018
Ok, this bot is looking good. I want to promote it to CQ. Is there any sort of communication I should do to sheriffs about this? Or just turn it on?
,
Jun 6 2018
Uploaded https://chromium-review.googlesource.com/#/c/chromium/src/+/1087762 https://sites.google.com/a/chromium.org/dev/developers/testing/chromium-build-infrastructure/tour-of-the-chromium-buildbot?pli=1#TOC-Adding-new-build-configurations-and-tests-to-the-main-Chromium-waterfall-Commit-Queue says to email chrome eng review. Dirk, do I need to do that? I feel like I saw somewhere that that's no longer needed.
,
Jun 6 2018
You no longer need to email chrome eng review. I'm the approver for adding and removing builders now, and you are free to add this whenever.
,
Jun 6 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c5e58f70d145a56376881fa216a229aaeb1aa6be commit c5e58f70d145a56376881fa216a229aaeb1aa6be Author: Stephen Martinis <martiniss@chromium.org> Date: Wed Jun 06 22:10:46 2018 Add linux-jumbo-rel builder to main CQ Bug: 782863 Change-Id: I6f4fb63fe1ed9c56a4f5238f1b0ca37c1c3a0715 Reviewed-on: https://chromium-review.googlesource.com/1087762 Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Stephen Martinis <martiniss@chromium.org> Cr-Commit-Position: refs/heads/master@{#565056} [modify] https://crrev.com/c5e58f70d145a56376881fa216a229aaeb1aa6be/infra/config/branch/cq.cfg
,
Jun 12 2018
The bot has been on CQ for about a week. People who rely on jumbo builds, have you noticed any difference in it being less broken for you at all?
,
Jun 12 2018
The linux FYI jumbo bot has been broken twice in the past week, I believe due to the different values used for jumbo_file_merge_limit. Smaller values are proportionally less likely to catch jumbo breakage.
,
Jun 12 2018
I think I'm getting fewer build failure notifications. This should be easy enough to check by just looking at the completed_builds table in BQ.
,
Jun 12 2018
I'll change the file limit to be the same as FYI.
,
Jun 13 2018
It's too early to say how much work it has saved since breakage arrives so randomly, but there hasn't been any "everything is broken for everyone" at all. As Mostyn said, the times (once or twice?) that I know of, it's been because the CQ bot runs with a smaller jumbo chunk size (8) than non-goma users (who have 50). I mentioned it to dpranke who said he wanted to gather some numbers for that particular configuration so you may want to check with him before changing him. Having the larger non-goma jumbo size would give much more extensive compilation testing though so it's what I would prefer. Or even running with chunk_size=infinity to capture any potential clashes within a target. Still, the largest improvement was going from no CQ testing to any CQ testing! We're now much more confident adding further jumbo support.
,
Jun 15 2018
Hi, I've been examining the interaction between jumbo chunking and compilation caching. In chromium/src.git over the past year, 1 in 8 changes to .cc files are adding or removing files. With the current assignment of sources to chunks, adding a single file invalidates half of the chunks in a jumbo module, on average. This is because the boundaries of every chunk after it shift by one, relative to the source list content. I have a proposal, with code, for improving the assignment strategy to mitigate this. Where is the best avenue for such a proposal?
,
Jun 15 2018
@david.barr@samsung.com - I suggest you post a CL and cc bratell, mostynb, brucedawson, and myself (from the cc list on this bug) and we can discuss there.
,
Jun 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2c7a71c3fd6cc3ee5eda41467ea6d5b8ee337386 commit 2c7a71c3fd6cc3ee5eda41467ea6d5b8ee337386 Author: David Michael Barr <david.barr@samsung.com> Date: Wed Jun 27 01:49:01 2018 jumbo: stable assignment of inputs to chunks Adding or removing a file from a jumbo source set causes on average half of the chunks to have their inputs reallocated. Derive chunk boundaries from a combination of list position and path content. This is so that when a file is added or removed, only the boundaries with adjacent chunks typically move. For a balance between maximum chunk size and stability of partitions: * Partition uniformly into the required number of chunks. * Pick a "center" from each chunk by minimum hash value. * Pick the boundaries between centers by maximum hash value. Bug: 782863 Change-Id: Ie71d82b132e8145b4ed3d1141f85886a12149d5a Reviewed-on: https://chromium-review.googlesource.com/1102218 Reviewed-by: Bruce Dawson <brucedawson@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Reviewed-by: Daniel Bratell <bratell@opera.com> Commit-Queue: Dirk Pranke <dpranke@chromium.org> Cr-Commit-Position: refs/heads/master@{#570623} [modify] https://crrev.com/2c7a71c3fd6cc3ee5eda41467ea6d5b8ee337386/build/config/jumbo.gni [modify] https://crrev.com/2c7a71c3fd6cc3ee5eda41467ea6d5b8ee337386/build/config/merge_for_jumbo.py [modify] https://crrev.com/2c7a71c3fd6cc3ee5eda41467ea6d5b8ee337386/docs/jumbo.md
,
Jun 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2405b447260539e04b184d4c6ef7a75a13b1d076 commit 2405b447260539e04b184d4c6ef7a75a13b1d076 Author: Daniel Bratell <bratell@opera.com> Date: Wed Jun 27 08:51:16 2018 Revert "jumbo: stable assignment of inputs to chunks" This reverts commit 2c7a71c3fd6cc3ee5eda41467ea6d5b8ee337386. Reason for revert: Linux with chunk size 50 broke in v8 which we can't quickly fix, and Windows (chunk size 8) has a DWORD logging error that looks non-trivial. We need to fix those before landing this. Original change's description: > jumbo: stable assignment of inputs to chunks > > Adding or removing a file from a jumbo source set causes on average > half of the chunks to have their inputs reallocated. > Derive chunk boundaries from a combination of list position and path > content. This is so that when a file is added or removed, only the > boundaries with adjacent chunks typically move. > For a balance between maximum chunk size and stability of partitions: > * Partition uniformly into the required number of chunks. > * Pick a "center" from each chunk by minimum hash value. > * Pick the boundaries between centers by maximum hash value. > > Bug: 782863 > Change-Id: Ie71d82b132e8145b4ed3d1141f85886a12149d5a > Reviewed-on: https://chromium-review.googlesource.com/1102218 > Reviewed-by: Bruce Dawson <brucedawson@chromium.org> > Reviewed-by: Dirk Pranke <dpranke@chromium.org> > Reviewed-by: Daniel Bratell <bratell@opera.com> > Commit-Queue: Dirk Pranke <dpranke@chromium.org> > Cr-Commit-Position: refs/heads/master@{#570623} TBR=dpranke@chromium.org,bratell@opera.com,brucedawson@chromium.org,david.barr@samsung.com Change-Id: I8c81aca34ab2876aebea6b54e847cb24be3aa27f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 782863 Reviewed-on: https://chromium-review.googlesource.com/1116658 Reviewed-by: Daniel Bratell <bratell@opera.com> Commit-Queue: Daniel Bratell <bratell@opera.com> Cr-Commit-Position: refs/heads/master@{#570701} [modify] https://crrev.com/2405b447260539e04b184d4c6ef7a75a13b1d076/build/config/jumbo.gni [modify] https://crrev.com/2405b447260539e04b184d4c6ef7a75a13b1d076/build/config/merge_for_jumbo.py [modify] https://crrev.com/2405b447260539e04b184d4c6ef7a75a13b1d076/docs/jumbo.md
,
Jun 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/92cb6f9da74600e7cd2b8a21c7fbb07ac7fda409 commit 92cb6f9da74600e7cd2b8a21c7fbb07ac7fda409 Author: Mostyn Bramley-Moore <mostynb@vewd.com> Date: Wed Jun 27 19:47:48 2018 [jumbo] remove some using statements in cctest This is required for jumbo builds to work before the stable jumbo chunk algorithm[*] can reland. [*] https://chromium-review.googlesource.com/c/chromium/src/+/1102218 Bug: chromium:856964, chromium:782863 Change-Id: Ibbe0994980eb554acd4e1557e733d07526a90608 Reviewed-on: https://chromium-review.googlesource.com/1117059 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com> Cr-Commit-Position: refs/heads/master@{#54070} [modify] https://crrev.com/92cb6f9da74600e7cd2b8a21c7fbb07ac7fda409/test/cctest/test-deoptimization.cc [modify] https://crrev.com/92cb6f9da74600e7cd2b8a21c7fbb07ac7fda409/test/cctest/test-func-name-inference.cc
,
Jul 11
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/73ea8f55b7cf8a6add17696c344688a98260d84c commit 73ea8f55b7cf8a6add17696c344688a98260d84c Author: David Michael Barr <david.barr@samsung.com> Date: Wed Jul 11 17:48:37 2018 Reland "jumbo: stable assignment of inputs to chunks" This is a reland of 2c7a71c3fd6cc3ee5eda41467ea6d5b8ee337386 Original change's description: > jumbo: stable assignment of inputs to chunks > > Adding or removing a file from a jumbo source set causes on average > half of the chunks to have their inputs reallocated. > Derive chunk boundaries from a combination of list position and path > content. This is so that when a file is added or removed, only the > boundaries with adjacent chunks typically move. > For a balance between maximum chunk size and stability of partitions: > * Partition uniformly into the required number of chunks. > * Pick a "center" from each chunk by minimum hash value. > * Pick the boundaries between centers by maximum hash value. > > Bug: 782863 > Change-Id: Ie71d82b132e8145b4ed3d1141f85886a12149d5a > Reviewed-on: https://chromium-review.googlesource.com/1102218 > Reviewed-by: Bruce Dawson <brucedawson@chromium.org> > Reviewed-by: Dirk Pranke <dpranke@chromium.org> > Reviewed-by: Daniel Bratell <bratell@opera.com> > Commit-Queue: Dirk Pranke <dpranke@chromium.org> > Cr-Commit-Position: refs/heads/master@{#570623} Bug: 860646 Change-Id: I55b326beb716789896c39d58be8e793c97f7097d Reviewed-on: https://chromium-review.googlesource.com/1121976 Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Dirk Pranke <dpranke@chromium.org> Cr-Commit-Position: refs/heads/master@{#574233} [modify] https://crrev.com/73ea8f55b7cf8a6add17696c344688a98260d84c/build/config/jumbo.gni [modify] https://crrev.com/73ea8f55b7cf8a6add17696c344688a98260d84c/build/config/merge_for_jumbo.py [modify] https://crrev.com/73ea8f55b7cf8a6add17696c344688a98260d84c/docs/jumbo.md
,
Jul 17
There's a jumbo builder in the CQ now, so I think this bug can be marked as complete? If we want more jumbo builders on the CQ, I think filing a separate bug would be a good idea. If anyone thinks this should be re-opened, feel free to and I'll take a look.
,
Jul 18
And I can confirm that it has drastically reduced the amount of fire fighting needed. It's been fewer commits (summer?) which is also a factor but it's so much better. Thank you!
,
Jul 18
Yup, this is done, thanks. |
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by brat...@opera.com
, Nov 9 2017Cc: dpranke@chromium.org most...@vewd.com