Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(141)

Issue 1506733002: GYP: Make GYP build deterministic (Closed)

Created:
5 years ago by Zachary Forman
Modified:
4 years, 11 months ago
Reviewers:
Nico, mithro-old, scottmg
CC:
Primiano Tucci (use gerrit)
Base URL:
https://chromium.googlesource.com/external/gyp.git@master
Target Ref:
refs/heads/master
Project:
gyp
Visibility:
Public.

Description

GYP: Make GYP build deterministic Currently, the GYP build is non-deterministic: See issue 557851 for discussion of how this came to be. There's a small performance regression (19.73s to 19.98s average on my z860). BUG=557851, 566922 R=thakis@chromium.org Committed: https://chromium.googlesource.com/external/gyp/+/9e2ceaef535255b1024889fdc268dfa784b472ca

Patch Set 1 #

Patch Set 2 : Deterministic even under different hash seeds #

Patch Set 3 : Added several comments #

Patch Set 4 : Fixes regressions #

Patch Set 5 : Fixes regressions #

Patch Set 6 : Adds a test for the issue. #

Patch Set 7 : Shrinks test case down, more thorough testing. #

Total comments: 4

Patch Set 8 : Clearer naming, better understanding #

Total comments: 4

Patch Set 9 : Simplified #

Patch Set 10 : Tidying #

Patch Set 11 : Tidying #

Patch Set 12 : Moved function to better place #

Patch Set 13 : Tests and bugfixes #

Patch Set 14 : All tested #

Total comments: 4

Patch Set 15 : Delousing code #

Patch Set 16 : Windows Fixes #

Patch Set 17 : Windows debugging #

Patch Set 18 : Windows-Fixes #

Total comments: 8

Patch Set 19 : Fixes cosmetic issue #

Unified diffs Side-by-side diffs Delta from patch set Stats (+256 lines, -26 lines) Patch
M pylib/gyp/MSVSUtil.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +1 line, -1 line 0 comments Download
M pylib/gyp/generator/ninja.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 6 chunks +8 lines, -5 lines 0 comments Download
M pylib/gyp/input.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 3 chunks +9 lines, -4 lines 0 comments Download
A test/determinism/determinism.gyp View 1 2 3 4 5 6 1 chunk +59 lines, -0 lines 0 comments Download
A test/determinism/empty-targets.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +32 lines, -0 lines 0 comments Download
A test/determinism/gyptest-determinism.py View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +30 lines, -0 lines 0 comments Download
A test/determinism/gyptest-empty-target-names.py View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +30 lines, -0 lines 0 comments Download
A test/determinism/gyptest-needed-variables.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +30 lines, -0 lines 0 comments Download
A test/determinism/gyptest-solibs.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +35 lines, -0 lines 0 comments Download
A + test/determinism/main.cc View 1 2 3 4 5 6 7 8 9 10 11 12 0 chunks +-1 lines, --1 lines 0 comments Download
A + test/determinism/needed-variables.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +13 lines, -4 lines 0 comments Download
A test/determinism/rule.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +3 lines, -0 lines 0 comments Download
A + test/determinism/solib.cc View 1 2 3 4 5 6 7 8 9 10 11 12 0 chunks +-1 lines, --1 lines 0 comments Download
A + test/determinism/solibs.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +8 lines, -14 lines 0 comments Download

Messages

Total messages: 24 (4 generated)
Zachary Forman
Hi Mithro, Could you please review this CL for python style / readability? Thanks, Zac
5 years ago (2015-12-08 23:48:49 UTC) #3
mithro-old
On 2015/12/08 at 23:48:49, zforman wrote: > Hi Mithro, > > Could you please review ...
5 years ago (2015-12-09 04:15:36 UTC) #4
Zachary Forman
Hi! I've been working on making builds in Chromium deterministic, and as part of that ...
5 years ago (2015-12-09 04:38:36 UTC) #6
scottmg
I had this discussion a little with Nico in the bug, but I still don't ...
5 years ago (2015-12-09 19:29:06 UTC) #7
Nico
I agree with everything scott said :-) It'd be good if each of the sorted() ...
5 years ago (2015-12-09 20:25:00 UTC) #8
mithro-old
Hi Scott (and Nico), On 2015/12/09 at 19:29:06, scottmg wrote: > I had this discussion ...
5 years ago (2015-12-10 03:15:28 UTC) #9
Zachary Forman
I've addressed all of your statements and reshuffled things so that - hopefully - as ...
5 years ago (2015-12-10 07:28:16 UTC) #10
Zachary Forman
On 2015/12/10 at 07:28:16, Zachary Forman wrote: > I've addressed all of your statements and ...
5 years ago (2015-12-10 10:00:01 UTC) #11
Nico
Looking pretty good, thanks! Can you time a full and an incremental build of chrome ...
5 years ago (2015-12-10 20:30:24 UTC) #12
Zachary Forman
On 2015/12/10 at 20:30:24, thakis wrote: > Looking pretty good, thanks! > > Can you ...
5 years ago (2015-12-13 21:38:33 UTC) #13
Zachary Forman
I've fixed trybot failures on Windows (due to non-determinism in Windows causing the new tests ...
5 years ago (2015-12-16 02:00:35 UTC) #14
Zachary Forman
Hi all - just a friendly ping. Hope everyone's enjoying holidays :D. --Zac https://codereview.chromium.org/1506733002/diff/120001/pylib/gyp/ninja_syntax.py File ...
4 years, 11 months ago (2015-12-30 02:18:43 UTC) #15
mithro-old
Friendly ping? Nico can you take another look?
4 years, 11 months ago (2016-01-08 16:33:42 UTC) #16
Nico
lgtm except for some cosmetic questions, thanks https://codereview.chromium.org/1506733002/diff/340001/pylib/gyp/generator/ninja.py File pylib/gyp/generator/ninja.py (left): https://codereview.chromium.org/1506733002/diff/340001/pylib/gyp/generator/ninja.py#oldcode690 pylib/gyp/generator/ninja.py:690: what was ...
4 years, 11 months ago (2016-01-13 20:16:55 UTC) #17
Zachary Forman
Fixed cosmetic issues - unless any issues with fixes, will merge later today or tomorrow. ...
4 years, 11 months ago (2016-01-18 20:44:36 UTC) #18
Nico
sounds good. gyp has a separate committers list though – if `git cl land` gives ...
4 years, 11 months ago (2016-01-18 20:57:40 UTC) #19
Zachary Forman
On 2016/01/18 at 20:57:40, thakis wrote: > sounds good. gyp has a separate committers list ...
4 years, 11 months ago (2016-01-19 21:29:34 UTC) #20
Nico
Committed patchset #19 (id:360001) manually as 9e2ceaef535255b1024889fdc268dfa784b472ca.
4 years, 11 months ago (2016-01-20 02:46:26 UTC) #22
Nico
Done. You will need to land a gyp roll in chromium to let this have ...
4 years, 11 months ago (2016-01-20 02:47:00 UTC) #23
Nico
4 years, 11 months ago (2016-01-20 02:47:18 UTC) #24
Message was sent while issue was closed.
And thank you very much for working on this :-)

Powered by Google App Engine
This is Rietveld 408576698