)]}'
{
  "commit": "0fae22e53cbfe870612aa097923baeb3a2d3099e",
  "tree": "526b5dddfa7e58a218052903ca9e7102fea2dd29",
  "parents": [
    "196b52f872e4bd0460925f95caa140f36bd048dc"
  ],
  "author": {
    "name": "Brian Sheedy",
    "email": "bsheedy@google.com",
    "time": "Tue Sep 30 16:33:03 2025 -0700"
  },
  "committer": {
    "name": "Dawn LUCI CQ",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Sep 30 16:33:03 2025 -0700"
  },
  "message": "Support dawn.node on Swarming\n\nUpdates run_dawn_node_cts.py to have the underlying runner output\nresults to a temporary file, and if --isolated-script-test-output is\npresent, convert those results into a format that result_adapter can\ningest.\n\nUltimately, this means that the dawn_node_cts suite can now be run\non Swarming. The no_swarming mixin is removed as a result.\n\nThe format that the results are converted into is basically only\nsuitable for the current use of dawn_node_cts (ensuring that running via\nNode is not completely broken). If testing via Node is ever expanded on\nthe bots, the conversion will need to be improved to a format that\nsupports multiple tests or native ResultDB integration will be needed.\nIn either case, the underlying runner\u0027s output format will also need to\nbe improved since it currently only gives a pass/fail per test without\nany additional information.\n\nBug: 441328362\nChange-Id: I131b276448059f63b00a578b81467e26d1c0f4c4\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/264115\nAuto-Submit: Brian Sheedy \u003cbsheedy@google.com\u003e\nReviewed-by: Yuly Novikov \u003cynovikov@chromium.org\u003e\nCommit-Queue: Brian Sheedy \u003cbsheedy@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "18175cc27602c3df143207f8447318bd3c827578",
      "old_mode": 33188,
      "old_path": "infra/specs/ci.json",
      "new_id": "3824b899e89bedc1eec3b2cc2a550b26cd146523",
      "new_mode": 33188,
      "new_path": "infra/specs/ci.json"
    },
    {
      "type": "modify",
      "old_id": "8b32b6e2ec7cc4b72c98b556d53e2e51a4325ab5",
      "old_mode": 33261,
      "old_path": "infra/specs/generate_test_spec_json.py",
      "new_id": "c26ee2993758c172306d6504e6546271d99fb20c",
      "new_mode": 33261,
      "new_path": "infra/specs/generate_test_spec_json.py"
    },
    {
      "type": "modify",
      "old_id": "92c3593f605ebcf5d96511ab73f260cfae94c149",
      "old_mode": 33188,
      "old_path": "infra/specs/mixins.pyl",
      "new_id": "44b2221df09e9214dbb895ad63761a55b0d78046",
      "new_mode": 33188,
      "new_path": "infra/specs/mixins.pyl"
    },
    {
      "type": "modify",
      "old_id": "c3632e74c49453b8ef24db0d285b5808351a8a20",
      "old_mode": 33188,
      "old_path": "infra/specs/test_suites.pyl",
      "new_id": "093487d321ff242a9b3f8c8b19c1b2bd2c9e02e2",
      "new_mode": 33188,
      "new_path": "infra/specs/test_suites.pyl"
    },
    {
      "type": "modify",
      "old_id": "987ef407003760948a163cbc1560d566ee792b31",
      "old_mode": 33261,
      "old_path": "scripts/dawn_node_cts/run_dawn_node_cts.py",
      "new_id": "9e255eb29184297e704e4b76be3cdb487cd720a9",
      "new_mode": 33261,
      "new_path": "scripts/dawn_node_cts/run_dawn_node_cts.py"
    }
  ]
}
