)]}'
{
  "commit": "f827eb3a78e3b3ff8352ece9f35ed94b52e1d917",
  "tree": "b19e0c41ed8d6c6faf626c7382c82c60d0d2e8bc",
  "parents": [
    "a746b64aa78f61341d8821dc87e99e0b670cb28e"
  ],
  "author": {
    "name": "Jonas Termansen",
    "email": "sortie@google.com",
    "time": "Wed Jul 19 12:24:38 2023 +0000"
  },
  "committer": {
    "name": "Commit Queue",
    "email": "dart-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Jul 19 12:24:38 2023 +0000"
  },
  "message": "Balance tests equally across shards.\n\nThe sharded test runner invocations are now passed the previous results\nwhich contains the test timing, which are used to simulate how long each\nshard would take to run. The shards are now balanced as evenly as\npossible on a test level, taking multiple cores into account.\n\nSharded tests are now run starting with the slowest test first, such\nthat extremely long running tests finish as early as possible. This\nbehavior ensures the cores are saturated and can be padded with fast\ntests near the end, rather than waiting for a few slow tests to complete\nwhile the rest of the system is idle.\n\nThe algorithm works very well whenever it\u0027s able to accurately predict\nthe time to run shards. In a number of cases, the model doesn\u0027t quite\nreflect reality and the data, which makes it fairly imperfect but still\nreasonably good. I think a second order feedback loop might kick in once\nit reorders the tests across shards and the test timing data reflects\nthe new test timings.\n\nMultitests are no longer always sent to the same shard, since the data\nisn\u0027t available at the moment, and the change as-is speeds up the test\nrunning considerably.\n\nThe front end unit test suites currently ignore the feature as there are\nno benefits yet to improving those quick shards.\n\nUpgrade the language version to 3.0.0 so patterns can be used and fix\na mixin not being a mixin.\n\nFixes: b/291585137\nChange-Id: I3cc1b1d96038d5b46e836b091e299097717c226c\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/314081\nReviewed-by: William Hesse \u003cwhesse@google.com\u003e\nCommit-Queue: Jonas Termansen \u003csortie@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d8902bc9d3d7793a28cb6ae1cd2f07122a97205b",
      "old_mode": 33188,
      "old_path": "pkg/front_end/test/unit_test_suites.dart",
      "new_id": "8783a8950b0eb8f2df8f620aa29624cf940964e7",
      "new_mode": 33188,
      "new_path": "pkg/front_end/test/unit_test_suites.dart"
    },
    {
      "type": "modify",
      "old_id": "da616152089765189b5fc6bd418aad3a084dc290",
      "old_mode": 33188,
      "old_path": "pkg/test_runner/lib/src/compiler_configuration.dart",
      "new_id": "28767a90d8fd52593a26500fd2f6f88a6dcf519f",
      "new_mode": 33188,
      "new_path": "pkg/test_runner/lib/src/compiler_configuration.dart"
    },
    {
      "type": "modify",
      "old_id": "6e733c01d5435ccbbb08ba9ab2eb3eb58f0bf2c8",
      "old_mode": 33188,
      "old_path": "pkg/test_runner/lib/src/configuration.dart",
      "new_id": "7fc309cfeb25a91ab4105b9ff7c5350766c81fd5",
      "new_mode": 33188,
      "new_path": "pkg/test_runner/lib/src/configuration.dart"
    },
    {
      "type": "modify",
      "old_id": "bb619c10946cec5cc3811fff506b167a1a7650dc",
      "old_mode": 33188,
      "old_path": "pkg/test_runner/lib/src/options.dart",
      "new_id": "6afeec2866af18895e29294c36c414ab3715780f",
      "new_mode": 33188,
      "new_path": "pkg/test_runner/lib/src/options.dart"
    },
    {
      "type": "modify",
      "old_id": "8b3c738ce30b300d43719e69433bfdc72a6a8db3",
      "old_mode": 33188,
      "old_path": "pkg/test_runner/lib/src/process_queue.dart",
      "new_id": "9ae152b1196536b52d6fd122cd0183ee6a9b0fb6",
      "new_mode": 33188,
      "new_path": "pkg/test_runner/lib/src/process_queue.dart"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "465a302a586c2969e4fff5a459912ade6d660729",
      "new_mode": 33188,
      "new_path": "pkg/test_runner/lib/src/shard.dart"
    },
    {
      "type": "modify",
      "old_id": "1060d6b7a061095027111cf3b7963060524655b1",
      "old_mode": 33188,
      "old_path": "pkg/test_runner/lib/src/test_suite.dart",
      "new_id": "6644eec7ed6d1bfd6f3f32d28d696e31f15c1bab",
      "new_mode": 33188,
      "new_path": "pkg/test_runner/lib/src/test_suite.dart"
    },
    {
      "type": "modify",
      "old_id": "713ec19ccb0ecf63a5aaa8f608d087932f04070d",
      "old_mode": 33188,
      "old_path": "pkg/test_runner/pubspec.yaml",
      "new_id": "4bcd63681fff2e5c4698fefde306ed2b54b83ccb",
      "new_mode": 33188,
      "new_path": "pkg/test_runner/pubspec.yaml"
    },
    {
      "type": "modify",
      "old_id": "b3c7d5db89bb2381bf2ee81400913d44bf0e0597",
      "old_mode": 33188,
      "old_path": "tools/bots/test_matrix.json",
      "new_id": "466fcda9c2984042374f575bc7d546bf1b7ce3eb",
      "new_mode": 33188,
      "new_path": "tools/bots/test_matrix.json"
    }
  ]
}
