)]}'
{
  "commit": "5d20ba4230181960cc0d749a1f181bf82e855dc1",
  "tree": "671add482c8276f8be7f4239f7ad09cff5b9a8fd",
  "parents": [
    "7687ad501ed4b68393a24e7df10cd0edc7f8b676"
  ],
  "author": {
    "name": "Xilai Zhang",
    "email": "xilaizhang@google.com",
    "time": "Wed Apr 12 20:08:21 2023 +0000"
  },
  "committer": {
    "name": "CQ Bot Account",
    "email": "flutter-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Apr 12 20:08:21 2023 +0000"
  },
  "message": "Signer recipe downloads artifact, codesigns file, and upload artifact back. Editions include adding kms secrets, tmp directory tracking, unlock keychain in the same session\n\n12/13 led run:\nhttps://ci.chromium.org/raw/build/logs.chromium.org/flutter/led/xilaizhang_google.com/dd35e456014e3ea3360ba3ffadd9dc565abc8213d7076dd45c1774e49c0a87eb/+/build.proto?server\u003dchromium-swarm.appspot.com\n\n12/12 led run: https://ci.chromium.org/raw/build/logs.chromium.org/flutter/led/xilaizhang_google.com/2be4003ab0497daf0e90f84cd6e74a2cdaaa00cf1b6783c9e759386bfdb93afb/+/build.proto?server\u003dchromium-swarm.appspot.com\n\n12/02 led run: https://luci-milo.appspot.com/raw/build/logs.chromium.org/flutter/led/xilaizhang_google.com/8d785d3c27550b0524c00d5ae1ed278721b587ce2c3b7528b952d1889c43bc1a/+/build.proto\n\nChange-Id: I55eeae2bec1ca765006d9d4d2b606299ff5c7e7a\nReviewed-on: https://flutter-review.googlesource.com/c/recipes/+/35322\nReviewed-by: Godofredo Contreras \u003cgodofredoc@google.com\u003e\nCommit-Queue: Xilai Zhang \u003cxilaizhang@google.com\u003e\n(cherry picked from commit 30e0e5edc6af15fd68c88196e999cbbd03fb3997)\nReviewed-on: https://flutter-review.googlesource.com/c/recipes/+/41668\nReviewed-by: Keyong Han \u003ckeyonghan@google.com\u003e\nCommit-Queue: Godofredo Contreras \u003cgodofredoc@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "376189dad267ca50a67d4e9dbd0b8e7013ee8094",
      "old_mode": 33188,
      "old_path": "recipe_modules/flutter_deps/api.py",
      "new_id": "8e1c1720b1e25a1c74f88deece6d5618ae1d43dc",
      "new_mode": 33188,
      "new_path": "recipe_modules/flutter_deps/api.py"
    },
    {
      "type": "modify",
      "old_id": "66ce86b9b2abc809d4b5cec5e2078fef4c50d45d",
      "old_mode": 33188,
      "old_path": "recipe_modules/flutter_deps/examples/full.expected/basic.json",
      "new_id": "6b802e74e51fde1adfe8243efc15367b481fee93",
      "new_mode": 33188,
      "new_path": "recipe_modules/flutter_deps/examples/full.expected/basic.json"
    },
    {
      "type": "modify",
      "old_id": "e2b8e40b9a279a0afafd21555f037c5a797ee7b0",
      "old_mode": 33188,
      "old_path": "recipe_modules/flutter_deps/examples/full.expected/flutter_engine.json",
      "new_id": "fd33716729899c7c30ba392a3e010e0e0936c8c6",
      "new_mode": 33188,
      "new_path": "recipe_modules/flutter_deps/examples/full.expected/flutter_engine.json"
    },
    {
      "type": "modify",
      "old_id": "66ce86b9b2abc809d4b5cec5e2078fef4c50d45d",
      "old_mode": 33188,
      "old_path": "recipe_modules/flutter_deps/examples/full.expected/goldTryjob.json",
      "new_id": "6b802e74e51fde1adfe8243efc15367b481fee93",
      "new_mode": 33188,
      "new_path": "recipe_modules/flutter_deps/examples/full.expected/goldTryjob.json"
    },
    {
      "type": "modify",
      "old_id": "66ce86b9b2abc809d4b5cec5e2078fef4c50d45d",
      "old_mode": 33188,
      "old_path": "recipe_modules/flutter_deps/examples/full.expected/linux.json",
      "new_id": "6b802e74e51fde1adfe8243efc15367b481fee93",
      "new_mode": 33188,
      "new_path": "recipe_modules/flutter_deps/examples/full.expected/linux.json"
    },
    {
      "type": "modify",
      "old_id": "6ecb4ba33a6231b2eb0a733c98f05adca48aace8",
      "old_mode": 33188,
      "old_path": "recipe_modules/flutter_deps/examples/full.expected/local_engine_cas.json",
      "new_id": "430b2f0541111d24a38e6f01f29eb7a09d8dc75a",
      "new_mode": 33188,
      "new_path": "recipe_modules/flutter_deps/examples/full.expected/local_engine_cas.json"
    },
    {
      "type": "modify",
      "old_id": "926c34779115f40b48ffd0d8c35e4c4da4300a99",
      "old_mode": 33188,
      "old_path": "recipe_modules/flutter_deps/examples/full.expected/mac.json",
      "new_id": "ff3d50d86cc289084b708a28ad53ff2ec49f3dd6",
      "new_mode": 33188,
      "new_path": "recipe_modules/flutter_deps/examples/full.expected/mac.json"
    },
    {
      "type": "modify",
      "old_id": "ef53a22f31038b45568744af2887a503c2df34ea",
      "old_mode": 33188,
      "old_path": "recipe_modules/flutter_deps/examples/full.expected/windows.json",
      "new_id": "2fa15d16be79b7992e1a0b6fbb75f713f874f78e",
      "new_mode": 33188,
      "new_path": "recipe_modules/flutter_deps/examples/full.expected/windows.json"
    },
    {
      "type": "modify",
      "old_id": "bfef9d974716c29574aa3b4f345df6753229f75f",
      "old_mode": 33188,
      "old_path": "recipe_modules/flutter_deps/examples/full.expected/with-arm64ruby.json",
      "new_id": "ca372a4e66465e52664c5b90ac8e11e06ef07da8",
      "new_mode": 33188,
      "new_path": "recipe_modules/flutter_deps/examples/full.expected/with-arm64ruby.json"
    },
    {
      "type": "modify",
      "old_id": "de7a3a0d2fc397144700131c94a48a7cbf0a93bf",
      "old_mode": 33188,
      "old_path": "recipe_modules/flutter_deps/examples/full.expected/with-gems.json",
      "new_id": "294bc6a7344baee0c0355c825bee8d4027592cfe",
      "new_mode": 33188,
      "new_path": "recipe_modules/flutter_deps/examples/full.expected/with-gems.json"
    },
    {
      "type": "modify",
      "old_id": "06a6b12886d40d08583e1acc20551dc934cc86ba",
      "old_mode": 33188,
      "old_path": "recipe_modules/flutter_deps/examples/full.py",
      "new_id": "422ae0006f1cd84783bef11f5c0d9ac64f552a0a",
      "new_mode": 33188,
      "new_path": "recipe_modules/flutter_deps/examples/full.py"
    },
    {
      "type": "modify",
      "old_id": "8de884fa4f566599f766317da62b83249c55b8ff",
      "old_mode": 33188,
      "old_path": "recipes/engine_v2/signer.expected/config_from_file.json",
      "new_id": "f4441a2bd574fca09e0cb31cd85c602720cdb4b3",
      "new_mode": 33188,
      "new_path": "recipes/engine_v2/signer.expected/config_from_file.json"
    },
    {
      "type": "modify",
      "old_id": "f804fd4ce42da943d479d05afba6c2d37a14d3a2",
      "old_mode": 33188,
      "old_path": "recipes/engine_v2/signer.py",
      "new_id": "a9740cdc3d65d10ff6e835da3b3a1388df8f936a",
      "new_mode": 33188,
      "new_path": "recipes/engine_v2/signer.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a35286dead4dcf872c119824438d7c63692b0ee8",
      "new_mode": 33188,
      "new_path": "recipes/engine_v2/signer.resources/runner.sh"
    }
  ]
}
