)]}'
{
  "commit": "13bda67130364bd5498f7e7038ed806ee3a4515f",
  "tree": "3e8eaa16a84ed83c29f16e0cfbbe099b0b39712d",
  "parents": [
    "e886bf5a6ce69c1ac00261f668ce967f511870e5"
  ],
  "author": {
    "name": "Keyong Han",
    "email": "keyonghan@google.com",
    "time": "Tue Sep 12 17:09:03 2023 +0000"
  },
  "committer": {
    "name": "CQ Bot Account",
    "email": "flutter-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Sep 12 17:09:03 2023 +0000"
  },
  "message": "Initial rbe support\n\n1) adds rbe modules for basic functionality\n2) enables rbe build in build_util module\n3) supports rbe flag from builder recipes\n\nA successful build against rbe based on https://github.com/flutter/engine/pull/45345/files:\nhttps://ci.chromium.org/ui/p/flutter/builders/try.shadow/Linux%20linux_android_debug_engine/16/overview\n\nChange-Id: Id4a41bfe591baf2ba863ff9d0b5a232ffce67f48\nBug: https://github.com/flutter/flutter/issues/132701\nReviewed-on: https://flutter-review.googlesource.com/c/recipes/+/49541\nReviewed-by: Yusuf Mohsinally \u003cmohsinally@google.com\u003e\nCommit-Queue: Keyong Han \u003ckeyonghan@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c28bd695751dc4028f4a5d253ac3ac124236e134",
      "old_mode": 33188,
      "old_path": "recipe_modules/build_util/__init__.py",
      "new_id": "c1af60e5297cc5adb33124623411a2127c6547dd",
      "new_mode": 33188,
      "new_path": "recipe_modules/build_util/__init__.py"
    },
    {
      "type": "modify",
      "old_id": "bdbbcb8c99ff65e56d0c2834f76d3a12701c5fc3",
      "old_mode": 33188,
      "old_path": "recipe_modules/build_util/api.py",
      "new_id": "b99aee1cfda46944b84258b04e7bec73d1404b23",
      "new_mode": 33188,
      "new_path": "recipe_modules/build_util/api.py"
    },
    {
      "type": "modify",
      "old_id": "ca049ec466b95ed5c0380a39db0fa44bb101d8b7",
      "old_mode": 33188,
      "old_path": "recipe_modules/build_util/examples/full.expected/basic.json",
      "new_id": "6cc3d45a7ea0597d470674cd3ab4a22910d7d3ff",
      "new_mode": 33188,
      "new_path": "recipe_modules/build_util/examples/full.expected/basic.json"
    },
    {
      "type": "modify",
      "old_id": "44b500d76093f1184190dc39951b01d55c6c128f",
      "old_mode": 33188,
      "old_path": "recipe_modules/build_util/examples/full.expected/mac.json",
      "new_id": "51d9299f1c62039ec721e7b1514439fa7a433d30",
      "new_mode": 33188,
      "new_path": "recipe_modules/build_util/examples/full.expected/mac.json"
    },
    {
      "type": "modify",
      "old_id": "f1dcfd547a692b5de7ffdfe01b4233beb59cfa98",
      "old_mode": 33188,
      "old_path": "recipe_modules/build_util/examples/full.expected/win.json",
      "new_id": "39af6b067793e2b3b366d4e501b1fd34c3c80182",
      "new_mode": 33188,
      "new_path": "recipe_modules/build_util/examples/full.expected/win.json"
    },
    {
      "type": "modify",
      "old_id": "8d14350abd44d3c9bf3422caeb428d808a286e4f",
      "old_mode": 33188,
      "old_path": "recipe_modules/build_util/examples/full.py",
      "new_id": "da1930d689d6bfb4aa86d9068045224fced380cf",
      "new_mode": 33188,
      "new_path": "recipe_modules/build_util/examples/full.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6a6a1bb5fd72e250261666a8775b18cd64c958b8",
      "new_mode": 33188,
      "new_path": "recipe_modules/rbe/__init__.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8c114b88c9a3c3e37111e37561a19e139d46df97",
      "new_mode": 33188,
      "new_path": "recipe_modules/rbe/api.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fd425d87829f7dc9adf9560e8b2af4d3d22f6c26",
      "new_mode": 33188,
      "new_path": "recipe_modules/rbe/properties.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7f10e7470814196a10eb5f2f0b4302e3b983355d",
      "new_mode": 33188,
      "new_path": "recipe_modules/rbe/rbe_metrics.proto"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "64ec5e8040ac1027fdf976f61974f14debfb24e3",
      "new_mode": 33261,
      "new_path": "recipe_modules/rbe/resources/relativize_args.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a3f9bfe27728faae6d62638a787902063e40474a",
      "new_mode": 33188,
      "new_path": "recipe_modules/rbe/resources/tool_manifest.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d38eca2531ba0e000975579417fd9dce0e3aa64b",
      "new_mode": 33188,
      "new_path": "recipe_modules/rbe/tests/full.expected/basic.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d38eca2531ba0e000975579417fd9dce0e3aa64b",
      "new_mode": 33188,
      "new_path": "recipe_modules/rbe/tests/full.expected/read_log_proto_failure_does_not_block.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e01b1446106816f22ae198ee5f7507a68dbdac40",
      "new_mode": 33188,
      "new_path": "recipe_modules/rbe/tests/full.expected/start_rbe_failed.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3b61d3b9914ec0e5feedd6cd1782872e28c03b88",
      "new_mode": 33188,
      "new_path": "recipe_modules/rbe/tests/full.expected/stop_rbe_failed.json"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fcece09ba9df85dd144755383494b533e0b607db",
      "new_mode": 33188,
      "new_path": "recipe_modules/rbe/tests/full.py"
    },
    {
      "type": "modify",
      "old_id": "c8fdf70d55e74a0d5a735b3a59f8ac489378f9a4",
      "old_mode": 33188,
      "old_path": "recipes/engine_v2/builder.expected/basic.json",
      "new_id": "80af240522901cbe241a8be09dd47ab2ad1229a2",
      "new_mode": 33188,
      "new_path": "recipes/engine_v2/builder.expected/basic.json"
    },
    {
      "type": "modify",
      "old_id": "161dadb05817cca6b409825fd02c3af7c26d670c",
      "old_mode": 33188,
      "old_path": "recipes/engine_v2/builder.expected/dart-internal-flutter-failure.json",
      "new_id": "380b35bd9cca6c95d1500cbbe0966e99cfdddea2",
      "new_mode": 33188,
      "new_path": "recipes/engine_v2/builder.expected/dart-internal-flutter-failure.json"
    },
    {
      "type": "modify",
      "old_id": "9601a629c4d22f83194e5505a0bff161eafbe144",
      "old_mode": 33188,
      "old_path": "recipes/engine_v2/builder.expected/dart-internal-flutter-success.json",
      "new_id": "c066942a4586bdd94b532ea12c06f3f3411d33c7",
      "new_mode": 33188,
      "new_path": "recipes/engine_v2/builder.expected/dart-internal-flutter-success.json"
    },
    {
      "type": "modify",
      "old_id": "f88a8df1d8553776118771227d10ee851373a5ed",
      "old_mode": 33188,
      "old_path": "recipes/engine_v2/builder.expected/mac.json",
      "new_id": "39e68d099b37072495d4303ec89bfa27ba3ed8fc",
      "new_mode": 33188,
      "new_path": "recipes/engine_v2/builder.expected/mac.json"
    },
    {
      "type": "modify",
      "old_id": "0d8d91e478a2c3ad22d2a6fd151288ea4eeb9017",
      "old_mode": 33188,
      "old_path": "recipes/engine_v2/builder.expected/monorepo.json",
      "new_id": "0fec2235a3faa5a8c15ae0b6a69157cf819856ad",
      "new_mode": 33188,
      "new_path": "recipes/engine_v2/builder.expected/monorepo.json"
    },
    {
      "type": "modify",
      "old_id": "0e35958eab27f12ef3054fa72fc841c16df66466",
      "old_mode": 33188,
      "old_path": "recipes/engine_v2/builder.expected/monorepo_tryjob.json",
      "new_id": "58689bd80c2fd3c47335f8c94860af1e7a2ebcb9",
      "new_mode": 33188,
      "new_path": "recipes/engine_v2/builder.expected/monorepo_tryjob.json"
    },
    {
      "type": "modify",
      "old_id": "6127d8b869a712c22577022d4ed28d771f813e29",
      "old_mode": 33188,
      "old_path": "recipes/engine_v2/builder.py",
      "new_id": "c4344a066dd82ab22c124d3741fee86e2c4c9b65",
      "new_mode": 33188,
      "new_path": "recipes/engine_v2/builder.py"
    }
  ]
}
