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

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Feature


Sign in to add a comment

Make sure our builds on all platforms are deterministic

Project Member Reported by thakis@chromium.org, Nov 3 2013

Issue description

1. Build chrome
2. Move build output directory somewhere else
3. Build chrome again

Expected: chrome binary and test binaries are identical in the two builds
Actual: They aren't.


This is important for swarming to be able to cache test results, and is generally desirable.

I looked into this some as part of  issue 280718 . Several files embed __DATE__ and __TIME__, and v8's build isn't deterministic ( issue v8:2885 ). There might be more issues on linux and windows.
 
Showing comments 11 - 110 of 110 Older
For __DATE__ and __TIME__, new gccs and clangs both support -Wdate-time that warn on using these defines.
Blockedon: chromium:383340
Owner: mar...@chromium.org
Status: Assigned
Taking ownership from a PM/management standpoint, this is really a meta bug for task coordination and prioritization.
Blockedon: chromium:383364
Blockedon: chromium:383388
Project Member

Comment 16 by bugdroid1@chromium.org, Jun 12 2014

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

commit b9e9992a4a4486729243e3f50e44a76bbea4f672
Author: sebmarchand@chromium.org <sebmarchand@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Thu Jun 12 21:01:19 2014

Add a new FORCE_DETERMINISTIC_BUILD define.

This flag will be used to make the builds determinist, e.g. in place like this one: https://code.google.com/p/chromium/codesearch#chromium/src/base/build_time.h&l=15

BUG=314403

Review URL: https://codereview.chromium.org/324403006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276801 0039d316-1c4b-4281-b951-d872f2087c98


Project Member

Comment 17 by bugdroid1@chromium.org, Jun 12 2014

------------------------------------------------------------------
r276801 | sebmarchand@chromium.org | 2014-06-12T21:01:19.416635Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/build/config/BUILD.gn?r1=276801&r2=276800&pathrev=276801
   M http://src.chromium.org/viewvc/chrome/trunk/src/build/common.gypi?r1=276801&r2=276800&pathrev=276801

Add a new FORCE_DETERMINISTIC_BUILD define.

This flag will be used to make the builds determinist, e.g. in place like this one: https://code.google.com/p/chromium/codesearch#chromium/src/base/build_time.h&l=15

BUG=314403

Review URL: https://codereview.chromium.org/324403006
-----------------------------------------------------------------
Project Member

Comment 18 by bugdroid1@chromium.org, Jun 18 2014

------------------------------------------------------------------
r278053 | sebmarchand@chromium.org | 2014-06-18T13:10:04.690156Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/src/build/common.gypi?r1=278053&r2=278052&pathrev=278053
   M http://src.chromium.org/viewvc/chrome/trunk/src/build/config/BUILD.gn?r1=278053&r2=278052&pathrev=278053

Rename FORCE_DETERMINISTIC_BUILD to DONT_EMBED_BUILD_METADATA.

Strictly speaking this flag isn't here to force a deterministic build, it's here to help us to make sure that no build metadata ends up in the build artifacts to help us guarantee a deterministic build.

(See the discussion in https://codereview.chromium.org/324403006/ for more details)

FTR, Nico said he'll take care of getting rid of __DATE__ and __TIME__ so this
new define will not be necessary for that.

On the other hand we may have issues with absolute path in __FILE__ and whatever
unforeseen C++ issue. This would require #ifdef'ing them out. This is not
something devs would want to do normally so this flag is off by default.

Eventually we'll want to fix the build system to not have to hack __FILE__ out
by ensuring they are *always* relative paths but until then, this variable can
be used to make progress


R=maruel@chromium.org, thakis@chromium.org
TBR=brettw@chromium.org

BUG=314403

Review URL: https://codereview.chromium.org/330813003
-----------------------------------------------------------------
Project Member

Comment 19 by bugdroid1@chromium.org, Jun 18 2014

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

commit 1967740925d1d3cd619d9a67bc8c27f9f99ff59c
Author: sebmarchand@chromium.org <sebmarchand@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Wed Jun 18 13:10:04 2014

Rename FORCE_DETERMINISTIC_BUILD to DONT_EMBED_BUILD_METADATA.

Strictly speaking this flag isn't here to force a deterministic build, it's here to help us to make sure that no build metadata ends up in the build artifacts to help us guarantee a deterministic build.

(See the discussion in https://codereview.chromium.org/324403006/ for more details)

FTR, Nico said he'll take care of getting rid of __DATE__ and __TIME__ so this
new define will not be necessary for that.

On the other hand we may have issues with absolute path in __FILE__ and whatever
unforeseen C++ issue. This would require #ifdef'ing them out. This is not
something devs would want to do normally so this flag is off by default.

Eventually we'll want to fix the build system to not have to hack __FILE__ out
by ensuring they are *always* relative paths but until then, this variable can
be used to make progress


R=maruel@chromium.org, thakis@chromium.org
TBR=brettw@chromium.org

BUG=314403

Review URL: https://codereview.chromium.org/330813003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@278053 0039d316-1c4b-4281-b951-d872f2087c98


(From some review thread:

"""
> FTR, Nico said he'll take care of getting rid of __DATE__ and __TIME__ so this
> new define will not be necessary for that.

I said I'd argue with anyone who complains about you removing it unconditionally, I didn't say I'd remove it!
"""

Not sure why that bit wasn't removed from the CL description after I said that)
[Sorry, oversight]
Sorry, I've updated the CL description.
Project Member

Comment 23 by bugdroid1@chromium.org, Oct 22 2014

------------------------------------------------------------------
r292599 | sebmarchand@chromium.org | 2014-10-22T19:55:38.607308Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Linux_deterministic_build.json?r1=292599&r2=292598&pathrev=292599
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.py?r1=292599&r2=292598&pathrev=292599
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Android_deterministic_build.json?r1=292599&r2=292598&pathrev=292599
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Mac_deterministic_build.json?r1=292599&r2=292598&pathrev=292599
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/api.py?r1=292599&r2=292598&pathrev=292599
   A http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=292599&r2=292598&pathrev=292599
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_IOS_deterministic_build.json?r1=292599&r2=292598&pathrev=292599
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Windows_deterministic_build.json?r1=292599&r2=292598&pathrev=292599

Deterministic build: Add a script to do the binary comparison.

BUG=314403

Review URL: https://codereview.chromium.org/665403002
-----------------------------------------------------------------
Project Member

Comment 24 by bugdroid1@chromium.org, Oct 22 2014

------------------------------------------------------------------
r292600 | sebmarchand@chromium.org | 2014-10-22T20:32:37.137731Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=292600&r2=292599&pathrev=292600

Deterministic recipe: Ignore the filenames starting with a .

BUG=314403

Review URL: https://codereview.chromium.org/675583003
-----------------------------------------------------------------
Project Member

Comment 25 by bugdroid1@chromium.org, Oct 23 2014

------------------------------------------------------------------
r292608 | sebmarchand@chromium.org | 2014-10-23T02:05:41.465518Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/remove_build_metadata.py?r1=292608&r2=292607&pathrev=292608

Deterministic recipe: Print the list of files for which zap_timestamp failed.

BUG=314403

Review URL: https://codereview.chromium.org/673723002
-----------------------------------------------------------------
Project Member

Comment 26 by bugdroid1@chromium.org, Oct 23 2014

------------------------------------------------------------------
r292617 | sebmarchand@chromium.org | 2014-10-23T12:10:56.654380Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/deterministic_build_blacklist.json?r1=292617&r2=292616&pathrev=292617

Augment the deterministic build blacklist.

BUG=314403

Review URL: https://codereview.chromium.org/669273004
-----------------------------------------------------------------
Project Member

Comment 27 by bugdroid1@chromium.org, Oct 23 2014

------------------------------------------------------------------
r292620 | maruel@chromium.org | 2014-10-23T12:37:13.026690Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_mac_Mac10_6_Tests__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_memory_Linux_ASan_LSan_Tests__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_memory_Linux_Chromium_OS_ASan_LSan_Tests__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_mac_Mac_10_6_Tests__dbg__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_mac_Mac_10_7_Tests__dbg__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_client_skia_Linux_Tests.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_client_skia_Win7_Tests__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_client_skia_Win7_Tests__1__Trybot.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_client_skia_Mac10_7_Tests__1__Trybot.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_linux_Linux_Tests__dbg__1__32_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_win_Win7_Tests__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_deapply_patch.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_memory_Mac_ASan_64_Tests__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_win_XP_Tests__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_mac_Mac10_7_Tests__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_webkit_Linux_ChromiumOS_Tests__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_chromiumos_Linux_ChromiumOS_Tests__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_win_Win7_Tests__dbg__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_missing_isolated.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_webkit_Linux_ChromiumOS_Tests__dbg__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_chromiumos_Linux_ChromiumOS_Tests__dbg__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_client_skia_Linux_Tests_Trybot.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_linux_Linux_Tests__dbg__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_client_skia_Mac10_7_Tests__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_basic_cq.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.py?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_memory_Mac_ASan_Tests__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.py?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_basic_try_job.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_memory_Linux_ASan_Tests__sandboxed_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_linux_Linux_Tests.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_win_Win_7_Tests_x64__1_.json?r1=292620&r2=292619&pathrev=292620
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_win_Vista_Tests__1_.json?r1=292620&r2=292619&pathrev=292620

Mark all chromium test swarming task requests as idempotent.

As the build becomes more and more deterministic, the utilization will lower by
deduping the tasks.

The staging server was previous set as idempotent and we're still fine.

R=vadimsh@chromium.org
BUG=314403

Review URL: https://codereview.chromium.org/653793003
-----------------------------------------------------------------
Project Member

Comment 28 by bugdroid1@chromium.org, Oct 23 2014

------------------------------------------------------------------
r292627 | sebmarchand@chromium.org | 2014-10-23T15:53:49.693686Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=292627&r2=292626&pathrev=292627

Deterministic recipe: Remove the PDBs from the list of files to compare.

There's a lot of work to do if we want those file to be deterministic, in particular there's a lot of name tables in them that seems to have a random order (there might be a random seed somewhere...). For base_unittests, almost all of the 1219 streams included in the PDB are different...

BUG=314403

Review URL: https://codereview.chromium.org/677443002
-----------------------------------------------------------------
Project Member

Comment 29 by bugdroid1@chromium.org, Oct 23 2014

------------------------------------------------------------------
r292635 | sebmarchand@chromium.org | 2014-10-23T20:40:07.446677Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=292635&r2=292634&pathrev=292635

Deterministic build - Comparison step - sort the result list.

BUG=314403

Review URL: https://codereview.chromium.org/671173005
-----------------------------------------------------------------
Blockedon: chromium:426613
Project Member

Comment 31 by bugdroid1@chromium.org, Oct 24 2014

------------------------------------------------------------------
r292637 | sebmarchand@chromium.org | 2014-10-23T23:55:46.094860Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_IOS_deterministic_build.json?r1=292637&r2=292636&pathrev=292637
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Windows_deterministic_build.json?r1=292637&r2=292636&pathrev=292637
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Linux_deterministic_build.json?r1=292637&r2=292636&pathrev=292637
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.py?r1=292637&r2=292636&pathrev=292637
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Android_deterministic_build.json?r1=292637&r2=292636&pathrev=292637
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Mac_deterministic_build.json?r1=292637&r2=292636&pathrev=292637

Deterministic recipe: Change the target to chrome_run

BUG=314403

Review URL: https://codereview.chromium.org/657863004
-----------------------------------------------------------------
Project Member

Comment 32 by bugdroid1@chromium.org, Oct 24 2014

------------------------------------------------------------------
r292653 | sebmarchand@chromium.org | 2014-10-24T17:05:14.729586Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/remove_build_metadata.py?r1=292653&r2=292652&pathrev=292653

Make remove_build_metadata.py compatible with the new version of zap_timestamp.

BUG=314403

Review URL: https://codereview.chromium.org/678713002
-----------------------------------------------------------------
Project Member

Comment 34 by bugdroid1@chromium.org, Oct 28 2014

------------------------------------------------------------------
r292705 | sebmarchand@chromium.org | 2014-10-28T20:38:39.811698Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=292705&r2=292704&pathrev=292705

Deterministic recipe: Print the number of files equals or differents

BUG=314403

Review URL: https://codereview.chromium.org/682193002
-----------------------------------------------------------------
Project Member

Comment 35 by bugdroid1@chromium.org, Oct 30 2014

------------------------------------------------------------------
r292747 | sebmarchand@chromium.org | 2014-10-30T19:33:00.490475Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_IOS_deterministic_build.json?r1=292747&r2=292746&pathrev=292747
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Windows_deterministic_build.json?r1=292747&r2=292746&pathrev=292747
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Linux_deterministic_build.json?r1=292747&r2=292746&pathrev=292747
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.py?r1=292747&r2=292746&pathrev=292747
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Android_deterministic_build.json?r1=292747&r2=292746&pathrev=292747
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Mac_deterministic_build.json?r1=292747&r2=292746&pathrev=292747

Adds chromium_swarm_tests to the list of targets to build on the deterministic builders

BUG=314403

Review URL: https://codereview.chromium.org/696473002
-----------------------------------------------------------------
Project Member

Comment 36 by bugdroid1@chromium.org, Oct 30 2014

------------------------------------------------------------------
r292749 | sebmarchand@chromium.org | 2014-10-30T22:08:59.451747Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.py?r1=292749&r2=292748&pathrev=292749
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/compile_because_of_analyze_with_filtered_compile_targets.json?r1=292749&r2=292748&pathrev=292749
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_basic_try_job.json?r1=292749&r2=292748&pathrev=292749
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/compile_because_of_analyze_with_filtered_tests.json?r1=292749&r2=292748&pathrev=292749
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/compile_because_of_analyze_with_filtered_tests_no_builder.json?r1=292749&r2=292748&pathrev=292749
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_deapply_patch.json?r1=292749&r2=292748&pathrev=292749
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_missing_isolated.json?r1=292749&r2=292748&pathrev=292749
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/full_tryserver_chromium_linux_linux_arm.json?r1=292749&r2=292748&pathrev=292749
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_basic_cq.json?r1=292749&r2=292748&pathrev=292749

Use remove_build_metadata.py on all the trybots (take 2).

Clone of https://codereview.chromium.org/654543008/

BUG=314403

Review URL: https://codereview.chromium.org/680253003
-----------------------------------------------------------------
Project Member

Comment 38 by bugdroid1@chromium.org, Oct 31 2014

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

commit 2f4ed5013d3dcdbcbeaabdad2af733dcdbfe067f
Author: sebmarchand <sebmarchand@chromium.org>
Date: Fri Oct 31 15:28:19 2014

Use base::GetBuildTime in MetricsLog::GetBuildTime instead of reimplementing it.

BUG=314403,  326158 

Review URL: https://codereview.chromium.org/693493006

Cr-Commit-Position: refs/heads/master@{#302269}

[modify] https://chromium.googlesource.com/chromium/src.git/+/2f4ed5013d3dcdbcbeaabdad2af733dcdbfe067f/components/metrics/metrics_log.cc

Project Member

Comment 39 by bugdroid1@chromium.org, Oct 31 2014

------------------------------------------------------------------
r292768 | sebmarchand@chromium.org | 2014-10-31T17:49:10.655109Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=292768&r2=292767&pathrev=292768

Deterministic build: print the number of different bytes.

BUG=314403

Review URL: https://codereview.chromium.org/697643003
-----------------------------------------------------------------
Project Member

Comment 40 by bugdroid1@chromium.org, Oct 31 2014

------------------------------------------------------------------
r292771 | sebmarchand@chromium.org | 2014-10-31T18:58:20.712507Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=292771&r2=292770&pathrev=292771

Deterministic build: more detailled comparison.

BUG=314403

Review URL: https://codereview.chromium.org/698663002
-----------------------------------------------------------------
Project Member

Comment 41 by bugdroid1@chromium.org, Oct 31 2014

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

commit 153e1b83e8af5e6f9dbd3b79e5e0643ea8bcf72c
Author: sebmarchand <sebmarchand@chromium.org>
Date: Fri Oct 31 20:25:52 2014

Change dont_embed_build_metadata default to 1 except for Official build and fix some unittests.

FieldTrialTest.DisableProbability was using Time::NowFromSystemTime - 1 year to generate a date before the build time. Instead use GetBuildTime - 1 year.

TransportSecurityState::IsBuildTimely is using GetBuildTime to determine if the build is older than 10 weeks. Disable this and return a default value if DONT_EMBED_BUILD_METADATA is defined (i.e. The build time is invalid) and we're not doing an official build.

CL based on https://codereview.chromium.org/685123005/ with some additional fixes for the unittests.

BUG=314403

Review URL: https://codereview.chromium.org/695523002

Cr-Commit-Position: refs/heads/master@{#302316}

[modify] https://chromium.googlesource.com/chromium/src.git/+/153e1b83e8af5e6f9dbd3b79e5e0643ea8bcf72c/base/build_time.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/153e1b83e8af5e6f9dbd3b79e5e0643ea8bcf72c/base/build_time.h
[modify] https://chromium.googlesource.com/chromium/src.git/+/153e1b83e8af5e6f9dbd3b79e5e0643ea8bcf72c/base/metrics/field_trial_unittest.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/153e1b83e8af5e6f9dbd3b79e5e0643ea8bcf72c/build/common.gypi
[modify] https://chromium.googlesource.com/chromium/src.git/+/153e1b83e8af5e6f9dbd3b79e5e0643ea8bcf72c/chrome/browser/ssl/ssl_error_classification.cc
[modify] https://chromium.googlesource.com/chromium/src.git/+/153e1b83e8af5e6f9dbd3b79e5e0643ea8bcf72c/net/http/transport_security_state.cc

Project Member

Comment 42 by bugdroid1@chromium.org, Oct 31 2014

------------------------------------------------------------------
r292776 | sebmarchand@chromium.org | 2014-10-31T20:25:14.213956Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=292776&r2=292775&pathrev=292776

Deterministic build: Compare step: Fix the logging when the files have a different size.

BUG=314403

Review URL: https://codereview.chromium.org/690893004
-----------------------------------------------------------------
Blockedon: chromium:429358
Project Member

Comment 44 by bugdroid1@chromium.org, Nov 2 2014

------------------------------------------------------------------
r292796 | maruel@chromium.org | 2014-11-02T18:37:05.577117Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=292796&r2=292795&pathrev=292796

Add specialized .isolated differ that prints unified diff.

It prints out unified diff of a human readable version of the .isolated. It
really helps to know what is different in the isolated tree.

R=sebmarchand@chromium.org
BUG=314403

Review URL: https://codereview.chromium.org/695123002
-----------------------------------------------------------------
Project Member

Comment 45 by bugdroid1@chromium.org, Nov 4 2014

------------------------------------------------------------------
r292834 | maruel@chromium.org | 2014-11-04T20:52:25.752874Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=292834&r2=292833&pathrev=292834

Optimize compare_build_artifacts.py to have an even more compact output.

Unified diff is still too verbose for .isolated comparison. Add byte streams
output for binaries if small enough.

R=sebmarchand@chromium.org
BUG=314403

Review URL: https://codereview.chromium.org/687723008
-----------------------------------------------------------------
Project Member

Comment 47 by bugdroid1@chromium.org, Nov 5 2014

------------------------------------------------------------------
r292850 | sebmarchand@chromium.org | 2014-11-05T17:43:47.090740Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=292850&r2=292849&pathrev=292850

Add a --recursive flag to compare_build_artifacts and always look at the content of the *_apk subdirs.

The new flag makes the debugging much faster when the .isolated refers to some files that are not in the product directory.

On Android the apks are not in the product directory, they're in a directory called $(test_name)_apk/ (e.g. net_unittests_apk/net_unittests.apk)

BUG=314403

Review URL: https://codereview.chromium.org/702083004
-----------------------------------------------------------------
Project Member

Comment 48 by bugdroid1@chromium.org, Nov 5 2014

------------------------------------------------------------------
r292855 | sebmarchand@chromium.org | 2014-11-05T19:53:15.939970Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=292855&r2=292854&pathrev=292855

Add support for the apks (non os.X_OK) to compare_build_artifacts.py

BUG=314403

Review URL: https://codereview.chromium.org/683733013
-----------------------------------------------------------------
Project Member

Comment 49 by bugdroid1@chromium.org, Nov 6 2014

------------------------------------------------------------------
r292869 | sebmarchand@chromium.org | 2014-11-06T20:49:05.114195Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/remove_build_metadata.py?r1=292869&r2=292868&pathrev=292869

Remove the timestamps from the zip archives in remove_build_metadata.py

The whole script has been refactored.

BUG=314403

Review URL: https://codereview.chromium.org/708803003
-----------------------------------------------------------------
Project Member

Comment 50 by bugdroid1@chromium.org, Nov 7 2014

------------------------------------------------------------------
r292881 | phajdan.jr@chromium.org | 2014-11-07T10:52:35.812339Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/compile_because_of_analyze_with_filtered_tests.json?r1=292881&r2=292880&pathrev=292881
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/compile_because_of_analyze_with_filtered_tests_no_builder.json?r1=292881&r2=292880&pathrev=292881
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_deapply_patch.json?r1=292881&r2=292880&pathrev=292881
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_missing_isolated.json?r1=292881&r2=292880&pathrev=292881
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/full_tryserver_chromium_linux_linux_arm.json?r1=292881&r2=292880&pathrev=292881
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_basic_cq.json?r1=292881&r2=292880&pathrev=292881
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.py?r1=292881&r2=292880&pathrev=292881
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/compile_because_of_analyze_with_filtered_compile_targets.json?r1=292881&r2=292880&pathrev=292881
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_basic_try_job.json?r1=292881&r2=292880&pathrev=292881

Revert "Use remove_build_metadata.py on all the trybots (take 2)."

Original CL https://codereview.chromium.org/680253003

TBR=sebmarchand@chromium.org

BUG=314403

Review URL: https://codereview.chromium.org/708993002
-----------------------------------------------------------------
Project Member

Comment 51 by bugdroid1@chromium.org, Nov 21 2014

------------------------------------------------------------------
r293067 | sebmarchand@chromium.org | 2014-11-21T19:58:25.128367Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.py?r1=293067&r2=293066&pathrev=293067
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/compile_because_of_analyze_with_filtered_compile_targets.json?r1=293067&r2=293066&pathrev=293067
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_basic_try_job.json?r1=293067&r2=293066&pathrev=293067
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/compile_because_of_analyze_with_filtered_tests.json?r1=293067&r2=293066&pathrev=293067
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/compile_because_of_analyze_with_filtered_tests_no_builder.json?r1=293067&r2=293066&pathrev=293067
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_deapply_patch.json?r1=293067&r2=293066&pathrev=293067
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_missing_isolated.json?r1=293067&r2=293066&pathrev=293067
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/full_tryserver_chromium_linux_linux_arm.json?r1=293067&r2=293066&pathrev=293067
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/swarming_basic_cq.json?r1=293067&r2=293066&pathrev=293067
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/gpu_tests.json?r1=293067&r2=293066&pathrev=293067

Use remove_build_metadata.py on all the trybots (take 3).

Revert of Issue 708993002: Revert "Use remove_build_metadata.py on all the trybots (take 2)." : https://codereview.chromium.org/708993002/

Problems have been fixed on zap_timestamp: https://code.google.com/p/syzygy/source/detail?r=ae952911d466b1c00b446e2a7bae5ed4d8c2adea

TBR=phajdan.jr@chromium.org
R=maruel@chromium.org

BUG=314403

Review URL: https://codereview.chromium.org/748153002
-----------------------------------------------------------------
Project Member

Comment 52 by bugdroid1@chromium.org, Nov 28 2014

------------------------------------------------------------------
r293147 | sebmarchand@chromium.org | 2014-11-28T20:46:22.850691Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/api.py?r1=293147&r2=293146&pathrev=293147
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=293147&r2=293146&pathrev=293147
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_IOS_deterministic_build.json?r1=293147&r2=293146&pathrev=293147
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Windows_deterministic_build.json?r1=293147&r2=293146&pathrev=293147
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Linux_deterministic_build.json?r1=293147&r2=293146&pathrev=293147
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Android_deterministic_build.json?r1=293147&r2=293146&pathrev=293147
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Mac_deterministic_build.json?r1=293147&r2=293146&pathrev=293147

Deterministic build: Add a whitelist to the compare_build_artifact script

BUG=314403

Review URL: https://codereview.chromium.org/763363002
-----------------------------------------------------------------
Project Member

Comment 53 by bugdroid1@chromium.org, Dec 2 2014

------------------------------------------------------------------
r293182 | sebmarchand@chromium.org | 2014-12-02T16:26:48.476721Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=293182&r2=293181&pathrev=293182

Deterministic build: Add np_test_netscape_plugin.dll to the whitelist.

BUG=314403

Review URL: https://codereview.chromium.org/762273004
-----------------------------------------------------------------
Project Member

Comment 55 by bugdroid1@chromium.org, Dec 6 2014

------------------------------------------------------------------
r293282 | maruel@chromium.org | 2014-12-06T16:30:18.619191Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py?r1=293282&r2=293281&pathrev=293282

Strip the last files from linux whitelist.

linux is now deterministic!
Add link to each OS specific issue in compare_build_artifacts.py for
maintainability.

R=sebmarchand@chromium.org
BUG= 330263 ,314403

Review URL: https://codereview.chromium.org/787503002
-----------------------------------------------------------------
Blockedon: chromium:439737
Congrats, achieving this is a great milestone. A ton of work was needed to get to this point.
Blocking: chromium:439949
Project Member

Comment 59 by bugdroid1@chromium.org, Jan 15 2015

------------------------------------------------------------------
r293651 | sebmarchand@chromium.org | 2015-01-15T18:29:24.769239Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_mac_Mac_Builder.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/dynamic_swarmed_gtest.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_chromiumos_Linux_ChromiumOS_Builder__dbg_.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_webkit_Linux_ChromiumOS_Builder__dbg_.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_win_Win_Builder__dbg_.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipe_modules/chromium_tests/api.py?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/gpu_tests.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_linux_Linux_Builder__dbg_.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_mac_Mac_Builder__dbg_.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_linux_Linux_Builder__dbg__32_.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_client_skia_Win_Builder.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_client_skia_Linux_Builder.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_client_skia_Mac_Builder.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_memory_Mac_ASan_64_Builder.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_memory_Linux_ASan_LSan_Builder.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_chromiumos_Linux_ChromiumOS_Builder.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_webkit_Linux_ChromiumOS_Builder.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium_trybot.expected/telemetry_gpu_no_results.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_memory_Linux_Chromium_OS_ASan_LSan_Builder.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_win_Win_Builder.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_win_Win_x64_Builder.json?r1=293651&r2=293650&pathrev=293651
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/chromium.expected/full_chromium_linux_Linux_Builder.json?r1=293651&r2=293650&pathrev=293651

Enable remove_build_medatata on the builders using the test isolation.

BUG=314403

Review URL: https://codereview.chromium.org/833763003
-----------------------------------------------------------------
Project Member

Comment 60 by bugdroid1@chromium.org, Jan 15 2015

------------------------------------------------------------------
r293654 | sebmarchand@chromium.org | 2015-01-15T19:16:29.229787Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.py?r1=293654&r2=293653&pathrev=293654
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Mac_deterministic_build.json?r1=293654&r2=293653&pathrev=293654

Disable Goma for the OS X builders on chromium.swarm.

Temporary patch to check how much of the indeterminism is caused by Goma.

BUG=314403

Review URL: https://codereview.chromium.org/853013002
-----------------------------------------------------------------
Project Member

Comment 61 by bugdroid1@chromium.org, Jan 22 2015

------------------------------------------------------------------
r293758 | maruel@chromium.org | 2015-01-22T21:13:41.235115Z

Changed paths:
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_IOS_deterministic_build.json?r1=293758&r2=293757&pathrev=293758
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Windows_deterministic_build.json?r1=293758&r2=293757&pathrev=293758
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Linux_deterministic_build.json?r1=293758&r2=293757&pathrev=293758
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.py?r1=293758&r2=293757&pathrev=293758
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Android_deterministic_build.json?r1=293758&r2=293757&pathrev=293758
   M http://src.chromium.org/viewvc/chrome/trunk/tools/build/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Mac_deterministic_build.json?r1=293758&r2=293757&pathrev=293758

Archive binaries on the deterministic build.

This has two goals:
- Archive the binaries for inspection.
- Fix the .isolated, as the .isolated files will be different after the step
  remove_build_metadata ran. This caused false-positives on the diffing on OSes
  where remove_build_metadata is not a no-op.

R=sebmarchand@chromium.org
BUG=314403

Review URL: https://codereview.chromium.org/863393002
-----------------------------------------------------------------
Project Member

Comment 62 by bugdroid1@chromium.org, Jun 9 2015

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

commit a94efd20723c459fc5c8143b2cae9706142c72ad
Author: sebmarchand@chromium.org <sebmarchand@chromium.org>
Date: Fri Jun 05 18:21:57 2015

Add some deterministic build trybots

BUG=314403

Review URL: https://codereview.chromium.org/1170623002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/build@295542 0039d316-1c4b-4281-b951-d872f2087c98

[modify] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/masters/master.tryserver.chromium.linux/master.cfg
[modify] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/masters/master.tryserver.chromium.linux/slaves.cfg
[modify] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/masters/master.tryserver.chromium.mac/master.cfg
[modify] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/masters/master.tryserver.chromium.mac/slaves.cfg
[modify] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/masters/master.tryserver.chromium.win/master.cfg
[modify] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/masters/master.tryserver.chromium.win/slaves.cfg
[add] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/scripts/slave/recipes/deterministic_build.expected/full_chromium_swarm_Android_deterministic_build.json
[add] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/scripts/slave/recipes/deterministic_build.expected/full_chromium_swarm_Linux_deterministic_build.json
[add] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/scripts/slave/recipes/deterministic_build.expected/full_chromium_swarm_Mac_deterministic_build.json
[add] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/scripts/slave/recipes/deterministic_build.expected/full_chromium_swarm_Windows_Clang_deterministic_build.json
[add] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/scripts/slave/recipes/deterministic_build.expected/full_chromium_swarm_Windows_deterministic_build.json
[add] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/scripts/slave/recipes/deterministic_build.expected/full_chromium_swarm_android_deterministic.json
[add] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/scripts/slave/recipes/deterministic_build.expected/full_chromium_swarm_linux_deterministic.json
[add] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/scripts/slave/recipes/deterministic_build.expected/full_chromium_swarm_mac_deterministic.json
[add] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/scripts/slave/recipes/deterministic_build.expected/full_chromium_swarm_windows_deterministic.json
[add] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/scripts/slave/recipes/deterministic_build.py
[modify] http://crrev.com/a94efd20723c459fc5c8143b2cae9706142c72ad/scripts/slave/recipes/swarming/deterministic_build.py

Project Member

Comment 65 by bugdroid1@chromium.org, Aug 31 2015

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build.git/+/589916241f0deea22afd788d901c3e01923f0bbb

commit 589916241f0deea22afd788d901c3e01923f0bbb
Author: maruel@chromium.org <maruel@chromium.org>
Date: Mon Aug 31 13:18:45 2015

Explicitly build 'all' on all deterministic builders.

The pseudo 'chromium_swarm_tests' should be deleted eventually and for
deterministic build, we want all the build to be deterministic. This will lead
to a regression of the deterministic builds, which will be fixed in a follow up
once we have more data.

It is done on the staging server so we can assert the current level before
enabling it to be run by default on the Try Server / CI infrastructure.

TBR=sebmarchand@chromium.org
BUG=314403

Review URL: https://codereview.chromium.org/1309543010

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/build@296485 0039d316-1c4b-4281-b951-d872f2087c98

[modify] http://crrev.com/589916241f0deea22afd788d901c3e01923f0bbb/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Linux_deterministic.json
[modify] http://crrev.com/589916241f0deea22afd788d901c3e01923f0bbb/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Mac_deterministic.json
[modify] http://crrev.com/589916241f0deea22afd788d901c3e01923f0bbb/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Windows_Clang_deterministic.json
[modify] http://crrev.com/589916241f0deea22afd788d901c3e01923f0bbb/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Windows_deterministic.json
[modify] http://crrev.com/589916241f0deea22afd788d901c3e01923f0bbb/scripts/slave/recipes/swarming/deterministic_build.py

Project Member

Comment 66 by bugdroid1@chromium.org, Aug 31 2015

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

commit ab0762d47c202ca4bbac3095a2b1c3fc8eb9db7b
Author: sebmarchand@chromium.org <sebmarchand@chromium.org>
Date: Mon Aug 31 18:00:24 2015

Augment the deterministic build blacklist.

BUG=314403

Review URL: https://codereview.chromium.org/1320373004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/build@296493 0039d316-1c4b-4281-b951-d872f2087c98

[modify] http://crrev.com/ab0762d47c202ca4bbac3095a2b1c3fc8eb9db7b/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py

Comment 67 by mit...@mithis.com, Jan 20 2016

Cc: zforman@google.com
Zac, can you post an update on this thread with the progress you have made recently.

Comment 68 by mit...@mithis.com, Jan 20 2016

Cc: mit...@mithis.com

Comment 69 by zforman@google.com, Jan 22 2016

https://docs.google.com/document/d/1KtKauRHBYnno29MOJNEoGw496m9xt9sqcyUIF3s6ekY/edit# contains an up to date (as of this post, and possibly in future, see the last updated date in the doc) summary of build determinism in Chromium.

Comment 71 by mit...@mithis.com, Feb 24 2016

Cc: -mit...@mithis.com

Comment 72 by mit...@mithis.com, Feb 24 2016

Cc: tansell@chromium.org
Components: -Infra Infra>Client>Chrome
Labels: -Build
Blocking: 601840
Blockedon: 628112

Comment 76 by stip@chromium.org, Jul 25 2016

Blockedon: 630930
Project Member

Comment 77 by bugdroid1@chromium.org, Aug 8 2016

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

commit c8c2305476408e04b0809d1d036d82210bb0cb9f
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Mon Aug 08 20:31:41 2016

Add Android deterministic and Windows Clang deterministic.

BUG= 630930 
BUG=330260
BUG=314403
BUG=439737

Review-Url: https://codereview.chromium.org/2221793003
Cr-Commit-Position: refs/heads/master@{#410440}

[modify] https://crrev.com/c8c2305476408e04b0809d1d036d82210bb0cb9f/tools/mb/mb_config.pyl

Project Member

Comment 78 by bugdroid1@chromium.org, Aug 19 2016

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

commit 6ff5a0f7921217fdfe82ea60f67cdfd86028a871
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Fri Aug 19 01:44:50 2016

Import compare_build_artifacts.py from isolate recipe module.

Build determinism is necessary for improving try performance.
If two test binaries are the same, we usually do not need to run the test.

The imported script checks the two builds are the same and shows
error if they are different.

The script is imported to make it easy for chromium developers to
update the script and blacklist json to keep the script updated.

BUG=314403

Review-Url: https://codereview.chromium.org/2232723002
Cr-Commit-Position: refs/heads/master@{#413016}

[add] https://crrev.com/6ff5a0f7921217fdfe82ea60f67cdfd86028a871/tools/compare_build_artifacts/compare_build_artifacts.py
[add] https://crrev.com/6ff5a0f7921217fdfe82ea60f67cdfd86028a871/tools/compare_build_artifacts/deterministic_build_blacklist.json

Project Member

Comment 79 by bugdroid1@chromium.org, Aug 22 2016

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

commit 32d5b679526857c915264c517ae3334421bb2be7
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Mon Aug 22 03:29:21 2016

Rename compare_build_artifacts directory name.

Since deterministic_build_blacklist.json is used by not only
compare_build_artifacts.py but also remove_build_metadata.py,
let me rename the directory name to determinism to reflect
what this is.

BUG=314403

Review-Url: https://codereview.chromium.org/2260053003
Cr-Commit-Position: refs/heads/master@{#413398}

[rename] https://crrev.com/32d5b679526857c915264c517ae3334421bb2be7/tools/determinism/compare_build_artifacts.py
[rename] https://crrev.com/32d5b679526857c915264c517ae3334421bb2be7/tools/determinism/deterministic_build_blacklist.json

Project Member

Comment 80 by bugdroid1@chromium.org, Aug 24 2016

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

commit 43088a9ef885a695061a49bcd0992cbce00a7568
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Wed Aug 24 08:31:17 2016

Make __DATE__ and __TIME__ to evaluate to an empty string.

If __DATE__ or __TIME__ used in code, current date or time will be
filled.  Such a value may change compile by compile, and breaks
deterministic build.

BUG=314403

Review-Url: https://codereview.chromium.org/2255093004
Cr-Commit-Position: refs/heads/master@{#414018}

[modify] https://crrev.com/43088a9ef885a695061a49bcd0992cbce00a7568/build/config/compiler/BUILD.gn

Project Member

Comment 81 by bugdroid1@chromium.org, Aug 24 2016

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

commit 3732ccadd4239a580746978396b8c69e9901f146
Author: justincohen <justincohen@chromium.org>
Date: Wed Aug 24 19:31:08 2016

Revert of Make __DATE__ and __TIME__ to evaluate to an empty string. (patchset #5 id:80001 of https://codereview.chromium.org/2255093004/ )

Reason for revert:
This introduces a clang crash when pch are used.  See: https://llvm.org/bugs/show_bug.cgi?id=29119

Original issue's description:
> Make __DATE__ and __TIME__ to evaluate to an empty string.
>
> If __DATE__ or __TIME__ used in code, current date or time will be
> filled.  Such a value may change compile by compile, and breaks
> deterministic build.
>
> BUG=314403
>
> Committed: https://crrev.com/43088a9ef885a695061a49bcd0992cbce00a7568
> Cr-Commit-Position: refs/heads/master@{#414018}

TBR=maruel@chromium.org,dpranke@google.com,dpranke@chromium.org,rohitrao@chromium.org,thakis@chromium.org,yyanagisawa@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=314403
NOTRY=TRUE

Review-Url: https://codereview.chromium.org/2277783002
Cr-Commit-Position: refs/heads/master@{#414120}

[modify] https://crrev.com/3732ccadd4239a580746978396b8c69e9901f146/build/config/compiler/BUILD.gn

Project Member

Comment 82 by bugdroid1@chromium.org, Aug 24 2016

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

commit b25f723a958671a8d908ca6c7dcc4eb6deb02a56
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Wed Aug 24 20:43:46 2016

import remote_build_metadata.py.

In addition to compare_build_artifacts.py, remote_build_metadata.py
is also migrated to src/tools/determinism.

TBR=maruel@chromium.org
BUG=314403

Review-Url: https://codereview.chromium.org/2270633004
Cr-Commit-Position: refs/heads/master@{#414132}

[add] https://crrev.com/b25f723a958671a8d908ca6c7dcc4eb6deb02a56/tools/determinism/remove_build_metadata.py

Project Member

Comment 83 by bugdroid1@chromium.org, Aug 24 2016

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

commit 9ea536bfbf5eba772d297f2e63d7b22b1fa57c4f
Author: maruel <maruel@chromium.org>
Date: Wed Aug 24 23:12:06 2016

Create tools/determinism/OWNERS.

R=sebmarchand@chromium.org
BUG=314403

Review-Url: https://codereview.chromium.org/2278713002
Cr-Commit-Position: refs/heads/master@{#414191}

[add] https://crrev.com/9ea536bfbf5eba772d297f2e63d7b22b1fa57c4f/tools/determinism/OWNERS

Project Member

Comment 84 by bugdroid1@chromium.org, Aug 25 2016

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

commit ba43d7fc1a299a2aca939eb10020809b7fe1782d
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Thu Aug 25 05:33:41 2016

Fix syntax error in compare_build_artifacts.py.

BUG=314403

Review-Url: https://codereview.chromium.org/2278813002
Cr-Commit-Position: refs/heads/master@{#414322}

[modify] https://crrev.com/ba43d7fc1a299a2aca939eb10020809b7fe1782d/tools/determinism/compare_build_artifacts.py

Project Member

Comment 85 by bugdroid1@chromium.org, Aug 25 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build.git/+/734467cd180cd100f1b8cc6710b101413abc9cd6

commit 734467cd180cd100f1b8cc6710b101413abc9cd6
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Thu Aug 25 06:16:50 2016

Use files in path['checkout'] not resource.

To make it easy for people to update compare_build_artifacts.py
and deterministic_build_blacklist.json, we have already imported
them in chormium src.
remove_build_metadata.py was also imported in chromium src.

This change is for making isolate APIs to use files in chromium src
not in resources.

BUG=314403

Review-Url: https://codereview.chromium.org/2260733002

[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipe_modules/isolate/api.py
[delete] https://crrev.com/245c516049e221f79dc8cf8fe395138b782308a0/scripts/slave/recipe_modules/isolate/resources/compare_build_artifacts.py
[delete] https://crrev.com/245c516049e221f79dc8cf8fe395138b782308a0/scripts/slave/recipe_modules/isolate/resources/deterministic_build_blacklist.json
[delete] https://crrev.com/245c516049e221f79dc8cf8fe395138b782308a0/scripts/slave/recipe_modules/isolate/resources/remove_build_metadata.py
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/build_dynamic_isolated_script_test.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/build_dynamic_isolated_script_test_compile_target_overriden.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/build_dynamic_swarmed_isolated_script_test.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/build_dynamic_swarmed_isolated_script_test_compile_target_overidden.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/dynamic_swarmed_gn_instrumentation_test.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/dynamic_swarmed_gtest.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/dynamic_swarmed_gtest_override_compile_targets.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_android_Android_N5X_Swarm_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_android_Android_Swarm_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_chromiumos_Linux_ChromiumOS_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_chromiumos_Linux_ChromiumOS_Builder__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_chromiumos_Linux_ChromiumOS_GN.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_chromiumos_Linux_ChromiumOS_GN__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_chromiumos_Linux_ChromiumOS_Ozone_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_Android_Cloud_Tests.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_ClangToTLinux.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_ClangToTLinuxASan.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_ClangToTLinuxLLD.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_ClangToTLinuxUBSanVptr.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_ClangToTMac.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_ClangToTMacASan.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_ClangToTWin.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_ClangToTWin64.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_ClangToTWin64_dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_ClangToTWin64_dll_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_ClangToTWin_dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_ClangToTWin_dll_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_CrWinAsan.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_CrWinAsanCov.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_CrWinAsan_dll_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_CrWinClang.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_CrWinClang64.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_CrWinClang64_dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_CrWinClang64_dll_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_CrWinClangLLD.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_CrWinClangLLD64.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_CrWinClang_dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_CrWinClang_shared_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_CrWinClngLLD64dbg.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_CrWinClngLLDdbg.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_Linux_ARM.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_Linux_remote_run_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_Mojo_ChromiumOS.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_Mojo_Windows.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_WebKit_Linux___TraceWrappables.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_WebKit_Linux___WPTServe.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_WebKit_Linux_slimming_paint_v2_Dummy_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_WebKit_Mac___WPTServe.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_WebKit_Win___WPTServe.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_fyi_Win_Builder__ANGLE_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_GPU_Linux_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_GPU_Linux_Builder__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_GPU_Mac_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_GPU_Mac_Builder__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_GPU_Win_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_GPU_Win_Builder__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_fyi_Android_Release__Nexus_5X_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_fyi_GPU_Fake_Linux_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_fyi_GPU_Linux_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_fyi_GPU_Linux_Builder__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_fyi_GPU_Mac_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_fyi_GPU_Mac_Builder__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_fyi_GPU_Win_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_fyi_GPU_Win_Builder__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_fyi_GPU_Win_x64_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_gpu_fyi_GPU_Win_x64_Builder__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_linux_Android_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_linux_Android_Builder__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_linux_Linux_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_linux_Linux_Builder__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_linux_Linux_Builder__dbg__32_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_mac_Mac_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_mac_Mac_Builder__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_memory_Linux_ASan_LSan_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_memory_Linux_Chromium_OS_ASan_LSan_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_memory_Mac_ASan_64_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_memory_full_Chromium_Linux_ChromeOS_MSan_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_memory_full_Chromium_Linux_MSan_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_memory_full_Chromium_Linux_TSan_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_webkit_WebKit_Linux.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_webkit_WebKit_Linux_ASAN.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_webkit_WebKit_Linux_Leak.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_webkit_WebKit_Linux_MSAN.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_webkit_WebKit_Linux_Trusty.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_webkit_WebKit_Linux__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_webkit_WebKit_Mac10_11__retina_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_webkit_WebKit_Mac_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_webkit_WebKit_Mac_Builder__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_webkit_WebKit_Win_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_webkit_WebKit_Win_Builder__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_webkit_WebKit_Win_x64_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_webkit_WebKit_Win_x64_Builder__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_win_Win_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_win_Win_Builder__dbg_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_chromium_win_Win_x64_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_client_skia_Linux_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_client_skia_Linux_Builder_Trybot.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_client_skia_Mac_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_client_skia_Mac_Builder_Trybot.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_client_skia_Win_Builder.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium.expected/full_client_skia_Win_Builder_Trybot.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium_trybot.expected/dynamic_isolated_script_test_with_args_on_trybot.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium_trybot.expected/swarming_test_failure.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium_trybot.expected/swarming_test_with_priority_expiration_and_timeout.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/chromium_trybot.expected/swarming_trigger_failure.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/findit/chromium/test.expected/all_test_failed.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/findit/chromium/test.expected/all_test_passed.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/findit/chromium/test.expected/findit_consecutive_culprits.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/findit/chromium/test.expected/findit_culprit_in_first_sub_range.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/findit/chromium/test.expected/findit_culprit_in_last_sub_range.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/findit/chromium/test.expected/findit_culprit_in_middle_sub_range.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/findit/chromium/test.expected/findit_steps_multiple_culprits.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/findit/chromium/test.expected/findit_tests_multiple_culprits.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/findit/chromium/test.expected/only_one_test_passed.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/findit/chromium/test.expected/swarming_tests.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/findit/chromium/test.expected/unaffected_test_skipped_by_analyze.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/findit/chromium/test.expected/use_analyze_set_to_False_for_non_linear_try_job.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/findit/chromium/test.expected/use_build_parameter_for_tests.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Android_deterministic.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Linux_deterministic.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Mac_deterministic.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Windows_Clang_deterministic.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/swarming/deterministic_build.expected/full_chromium_swarm_Windows_deterministic.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/swarming/staging.expected/android.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/swarming/staging.expected/linux_Debug.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/swarming/staging.expected/linux_Release.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/swarming/staging.expected/mac_Debug.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/swarming/staging.expected/mac_Release.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/swarming/staging.expected/one_fails.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/swarming/staging.expected/win_Debug.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/swarming/staging.expected/win_Release.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_fyi_linux64_release__swarming_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_fyi_mac64_release__swarming_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_fyi_win32_release__swarming_.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_linux_swarming.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_mac_swarming.json
[modify] https://crrev.com/734467cd180cd100f1b8cc6710b101413abc9cd6/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_win_swarming.json

Project Member

Comment 86 by bugdroid1@chromium.org, Aug 25 2016

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

commit 1dbccbe5552d01bed6c87b23c89dedd8a690ffcc
Author: recipe-roller <recipe-roller@chromium.org>
Date: Thu Aug 25 06:33:53 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/734467cd180cd100f1b8cc6710b101413abc9cd6 Use files in path['checkout'] not resource. (yyanagisawa@chromium.org)

TBR=martiniss@chromium.org,phajdan.jr@chromium.org
BUG=314403

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

[modify] https://crrev.com/1dbccbe5552d01bed6c87b23c89dedd8a690ffcc/infra/config/recipes.cfg

Project Member

Comment 87 by bugdroid1@chromium.org, Aug 25 2016

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

commit 8ad7faf9ffe44c7a57649cbc367f3eb2ceee229e
Author: recipe-roller <recipe-roller@chromium.org>
Date: Thu Aug 25 11:13:29 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/734467cd180cd100f1b8cc6710b101413abc9cd6 Use files in path['checkout'] not resource. (yyanagisawa@chromium.org)

TBR=martiniss@chromium.org,phajdan.jr@chromium.org
BUG=314403

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

[modify] https://crrev.com/8ad7faf9ffe44c7a57649cbc367f3eb2ceee229e/infra/config/recipes.cfg

Project Member

Comment 88 by bugdroid1@chromium.org, Aug 25 2016

Project Member

Comment 89 by bugdroid1@chromium.org, Aug 29 2016

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

commit 83bdd08debd6f7691d61ba8b827146642f09d8ec
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Mon Aug 29 06:39:58 2016

Show detailed difference on unexpected difference.

Show object file difference to make it easy to distinguish what
caused the difference.

BUG=314403

Review-Url: https://codereview.chromium.org/2278493002
Cr-Commit-Position: refs/heads/master@{#414979}

[modify] https://crrev.com/83bdd08debd6f7691d61ba8b827146642f09d8ec/tools/determinism/compare_build_artifacts.py

Project Member

Comment 90 by bugdroid1@chromium.org, Aug 30 2016

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

commit 29b5fd95fd5f5b1e815cca5ef12c596a4e609620
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Tue Aug 30 04:42:38 2016

Also shows detailed diffs on expected diffs.

Since we are going to make whitelisted targets to zero, there is no
reason to avoid to check details on expected diffs.

BUG=314403

Review-Url: https://codereview.chromium.org/2289643002
Cr-Commit-Position: refs/heads/master@{#415109}

[modify] https://crrev.com/29b5fd95fd5f5b1e815cca5ef12c596a4e609620/tools/determinism/compare_build_artifacts.py

Project Member

Comment 91 by bugdroid1@chromium.org, Sep 1 2016

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

commit 6eff2bed7163a176416d57301f14bc34c2fa1732
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Thu Sep 01 14:23:31 2016

Print result returned by compare_files.

No differences on dependencies are shown with commit
https://crrev.com/29b5fd95fd5f5b1e815cca5ef12c596a4e609620.
That is because the code did not print difference at all.
Let me print it if exists.

Also, shows number of deps.

BUG=314403

Review-Url: https://codereview.chromium.org/2293383005
Cr-Commit-Position: refs/heads/master@{#415947}

[modify] https://crrev.com/6eff2bed7163a176416d57301f14bc34c2fa1732/tools/determinism/compare_build_artifacts.py

Project Member

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

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

commit 968e61838c000ee1850cfa8850dcfe4e51087265
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Thu Sep 08 03:35:45 2016

Skip COFF timestamp difference.

Current deps diffs shows lots of files differs only first certain bytes on Windows.  They are COFF timestamp difference, and we do not usually need to check.  Let me skip showing them.

BUG=314403

Review-Url: https://codereview.chromium.org/2303063003
Cr-Commit-Position: refs/heads/master@{#417179}

[modify] https://crrev.com/968e61838c000ee1850cfa8850dcfe4e51087265/tools/determinism/compare_build_artifacts.py

Project Member

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

Labels: merge-merged-2854
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/968e61838c000ee1850cfa8850dcfe4e51087265

commit 968e61838c000ee1850cfa8850dcfe4e51087265
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Thu Sep 08 03:35:45 2016

Skip COFF timestamp difference.

Current deps diffs shows lots of files differs only first certain bytes on Windows.  They are COFF timestamp difference, and we do not usually need to check.  Let me skip showing them.

BUG=314403

Review-Url: https://codereview.chromium.org/2303063003
Cr-Commit-Position: refs/heads/master@{#417179}

[modify] https://crrev.com/968e61838c000ee1850cfa8850dcfe4e51087265/tools/determinism/compare_build_artifacts.py

Blockedon: 496701
Project Member

Comment 96 by bugdroid1@chromium.org, Oct 3 2016

Project Member

Comment 97 by bugdroid1@chromium.org, Oct 3 2016

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

commit 4e9b82472362e3caf4153cddcf989e903ae6a252
Author: recipe-roller <recipe-roller@chromium.org>
Date: Mon Oct 03 03:21:29 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/66506fcc70d5ba335c541d69e272aaee7084b93b Add Debug builder config for deterministic builder recipe. (yyanagisawa@chromium.org)

TBR=martiniss@chromium.org,phajdan.jr@chromium.org
BUG=314403

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

[modify] https://crrev.com/4e9b82472362e3caf4153cddcf989e903ae6a252/infra/config/recipes.cfg

Project Member

Comment 98 by bugdroid1@chromium.org, Oct 3 2016

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

commit e9cb31e888f6a21e6755878b95d127a58bf094c8
Author: recipe-roller <recipe-roller@chromium.org>
Date: Mon Oct 03 03:34:40 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/66506fcc70d5ba335c541d69e272aaee7084b93b Add Debug builder config for deterministic builder recipe. (yyanagisawa@chromium.org)

TBR=martiniss@chromium.org,phajdan.jr@chromium.org
BUG=314403

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

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

Project Member

Comment 99 by bugdroid1@chromium.org, Oct 4 2016

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

commit 6c0025a991117815b2700ecb800eb06bab1870e2
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Tue Oct 04 07:02:43 2016

Add Android, Linux and Mac debug builder for deterministic build.

BUG=314403

Review-Url: https://codereview.chromium.org/2374943002
Cr-Commit-Position: refs/heads/master@{#422727}

[modify] https://crrev.com/6c0025a991117815b2700ecb800eb06bab1870e2/tools/mb/mb_config.pyl

Does anybody know how https://reviews.llvm.org/D23934 goes on?
I sometimes see non-deterministic build on Linux, and usually cuased by this.
https://uberchromegw.corp.google.com/i/chromium.fyi/builders/Linux%20deterministic/builds/5156/steps/compare_build_artifacts/logs/stdio

Project Member

Comment 101 by bugdroid1@chromium.org, Nov 9 2016

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

commit 54934b6280e5bc3f8a823e6543cab3dbdb304ccb
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Wed Nov 09 21:58:17 2016

Whitelist flatc in Linux.

Since __DATE__ is used in flatc, compile result sometimes not
deterministic.

BUG=314403
BUG= 330263 

Review-Url: https://codereview.chromium.org/2484943005
Cr-Commit-Position: refs/heads/master@{#431045}

[modify] https://crrev.com/54934b6280e5bc3f8a823e6543cab3dbdb304ccb/tools/determinism/compare_build_artifacts.py

Project Member

Comment 102 by bugdroid1@chromium.org, Feb 2 2017

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

commit 5eded4b55c92335c96702d53aa319a360c86f556
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Thu Feb 02 15:14:11 2017

Make __DATE__, __TIME__ and __TIMESTAMP__ to evaluate to an empty string.

If __DATE__, __TIME__ or __TIMESTAMP__ used in code, current date or
time will be filled.  Such a value may change compile by compile, and
breaks deterministic build.

BUG=314403

Review-Url: https://codereview.chromium.org/2664743002
Cr-Commit-Position: refs/heads/master@{#447769}

[modify] https://crrev.com/5eded4b55c92335c96702d53aa319a360c86f556/build/config/compiler/BUILD.gn

Project Member

Comment 103 by bugdroid1@chromium.org, Feb 3 2017

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

commit 9f222f933687afae647f761c9c274d6a2d2a20fc
Author: yyanagisawa <yyanagisawa@chromium.org>
Date: Fri Feb 03 19:09:57 2017

flatc now become deterministic.

Since __DATE__, __TIME__, and __TIMESTAMP__ has been set during the
build, flatc now become deterministic.

BUG=314403

Review-Url: https://codereview.chromium.org/2674823002
Cr-Commit-Position: refs/heads/master@{#448033}

[modify] https://crrev.com/9f222f933687afae647f761c9c274d6a2d2a20fc/tools/determinism/deterministic_build_whitelist.pyl

Blockedon: 708914
Cc: -e...@chromium.org
Un-cc-ing me from all bugs on my final day.
Project Member

Comment 106 by bugdroid1@chromium.org, Aug 6

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

commit 8309ebc864ac53d6b4d64344e03bbaa8d2562983
Author: Nico Weber <thakis@chromium.org>
Date: Mon Aug 06 11:37:47 2018

deterministic builds: Remove some now-unused code from compare script

- remove code that skips part of coff headers if timestamps are different;
  no longer an issue after #580585

- remove blacklist code; the blacklist is empty now

Bug: 314403
Change-Id: I3e6c1eea3fea321c63c4081002931eb8a4a7ca12
Reviewed-on: https://chromium-review.googlesource.com/1163177
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580846}
[modify] https://crrev.com/8309ebc864ac53d6b4d64344e03bbaa8d2562983/tools/determinism/compare_build_artifacts.py
[delete] https://crrev.com/44db142be5a625609dc30805cb6eb24a985f05d3/tools/determinism/deterministic_build_blacklist.json

Project Member

Comment 107 by bugdroid1@chromium.org, Aug 6

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

commit f8f5a8fa7ebd80deb4891e233c67d06b8c809e80
Author: Nico Weber <thakis@chromium.org>
Date: Mon Aug 06 14:49:56 2018

Remove tools/determinism/platform_whitelist.py

Bots seem to not use it, and humans can look at
tools/determinism/deterministic_build_whitelist.pyl directly.

Bug: 314403,664868
Change-Id: I286b28bb622df8d1910fa75f24bcf61439a3fe60
Reviewed-on: https://chromium-review.googlesource.com/1163317
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580866}
[delete] https://crrev.com/72db439e9cb7d6970326d459d72dfdf5c9cd018e/tools/determinism/platform_whitelist.py

Blockedon: 846610
Blockedon: -846610 869348
Project Member

Comment 110 by bugdroid1@chromium.org, Aug 15 (2 days ago)

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

commit 4c984bc7664755d701c75b49b795678e164551e3
Author: Nico Weber <thakis@chromium.org>
Date: Wed Aug 15 22:27:02 2018

Make BUILD_DATE based off the last commit time instead of the current time.

BUILD_DATE used to take the current time and then set BUILD_DATE to
the first Sunday of the month (unofficial builds) or to that date at 5am
(official builds), so that the date stays constant for a while, to
keep binary hashes changing less frequently. (BUILD_DATE makes it into
base/, so most binaries contain it.)

This behavior is kept, but it's now based off the timestamp of the most
recent commit.

This has the advantage of being deterministic, so for example if some
Android bot builds the same revision twice, it's now guaranteed that
both builds will end up with the same timestamp. The motivation is that
I want to reland https://chromium-review.googlesource.com/1161104 which
broke Android bots which assume fully deterministic BUILD_DATEs and
currently only work by accident due to write_build_date_header.py not
rerunning in incremental builds.

Since querying git is slow and the timestamp will be queried at
gn gen time in a follow-up change, let lastchange.py write the last
commit's timestamp in a file next to build/util/LASTCHANGE and then read
that in write_build_date_header.py.

For official chrome builds we ship, this shouldn't make much of a difference,
since there's always recent commits when we ship those (if only to
update chrome/VERSION).

When syncing to an old revision (past the revision this change lands in, of
course -- say this lands and then 2 years pass, and then you sync back
1.5 years), that will now have an old date while it had a current date
before. This could happen while bisecting. You'd get more security
interstitials while bisecting.

Embedders might ship old Chromiums without having a recent commit
in src. These would have BUILD_DATEs in the past.  I announced this change on
https://groups.google.com/a/chromium.org/forum/#!topic/embedder-dev/Ymk3bHPQ45M
We can add an explicit opt-out if requested.

Build date currently affects:
- HSTS lists (considered valid for 70 days past build date)
-- but only enabled for official chrome builds (GOOGLE_CHROME_BUILD
   check in TransportSecurityState())
- certificate transparency (considered valid for 70 days past build date)
- invalid cert date interstitial (warns if system clock is
  more than 2 days behind build date, or more than 365 days
  in the future)
- browser upgrade detector indicator UI (stops checking after
  build is 12 weeks old)
- field trials (kNoExpirationYear is 2 years past build date)

//base:build_date already depends on lastchange_file and only reruns
when that file is touched (and on full builds).

Lots of prior discussion in https://codereview.chromium.org/1641413002/
(this approach but without widening was suggested in comment 26,
comment 46 mentions security concerns from agl, comment 67 onwards are about
security too. Eventually  http://crbug.com/584880  got filed with a plan similar
to this CL here, but there was no time to evaluate the proposal at the time
due to internship schedule reasons. I talked to security -- namely,
felt agl ncarter carlosil -- and everyone thinks this has no obvious issues.)

Obsoletes https://chromium-review.googlesource.com/c/564598/, a prior attempt
at getting deterministic builds (opt-in, by setting an env var with the desired
date).

Bug: 314403, 584880 ,871173
Change-Id: I6ccd78bff005572a9fa391e9820f4f5f83583c50
Reviewed-on: https://chromium-review.googlesource.com/1167913
Reviewed-by: Alex Mineer <amineer@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583420}
[modify] https://crrev.com/4c984bc7664755d701c75b49b795678e164551e3/build/util/lastchange.py
[modify] https://crrev.com/4c984bc7664755d701c75b49b795678e164551e3/build/write_build_date_header.py

Showing comments 11 - 110 of 110 Older

Sign in to add a comment