)]}'
{
  "commit": "d78036f06ea94a42b7cff62241e91ed5b2900c7a",
  "tree": "ab6ca6bcbe74ae1db1ffccb3bbfacd4f480e0f7a",
  "parents": [
    "8b3cc4d1ed06de18166d37e5fb82c68ae4e4a7a4"
  ],
  "author": {
    "name": "Eric",
    "email": "eric@efcs.ca",
    "time": "Wed Jul 02 10:04:37 2025 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jul 02 10:04:37 2025 -0400"
  },
  "message": "Only restart failed libc++ jobs, not cancelled ones. (#146397)\n\nDespite the error message for preempted jobs containing the words\n\"cancelled\", these are considered workflow \"failures\" by github.\n\nThis is important, because if we fail to distinguish between \"failed\"\nand \"cancelled\" jobs, the restarter will fight to restart jobs a user\nintentionally cancelled (either by pressing the \"cancel\" button, or by\npushing an update to a PR).\n\nThis reverts commit 3ea7fc73397032e71fb20d27084f4552211bb1f6. This also\nreverts earlier attempts to solve this problem by matching the messages\nto detect manual cancellations.\n\nThis change also removes ldionne\u0027s test workflow, as its hard to\ncorrectly keep in sync.\n\nThis change does not attempt to address the maintainability or\ntestability of this script, which continues to be an issue. If asked to\naddress these issues, my plan is to write the script in python (which\nmost people are more familar with), and turn this action into a \"docker\naction\" using a container with the python action and dependencies built\ninto it. Let me know if that\u0027s a direction we\u0027re interested in heading.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "06ac6a2b7291b7847fb9bf9c9b4d76fa0770aeca",
      "old_mode": 33188,
      "old_path": ".github/workflows/libcxx-restart-preempted-jobs.yaml",
      "new_id": "accb84efb5c903804933a8f1ef10a2c6f85284a7",
      "new_mode": 33188,
      "new_path": ".github/workflows/libcxx-restart-preempted-jobs.yaml"
    }
  ]
}
