)]}'
{
  "commit": "696508ec5da9877462146747c2937fef7e483af1",
  "tree": "d7400b7976f59f1a52c652872928e5a5bbb09373",
  "parents": [
    "d487b5854bf38c8b9466899c583a081ad3d59bd8"
  ],
  "author": {
    "name": "Geoffrey Martin-Noble",
    "email": "gcmn@google.com",
    "time": "Thu Mar 24 16:28:56 2022 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Mar 24 16:28:56 2022 -0700"
  },
  "message": "Bootstrap and automatically update Buildkite pipelines (#8619)\n\n* Bootstrap and automatically update Buildkite pipelines\r\n\r\nThis means that:\r\n  1. postsubmit runs always use with the version of the pipeline\r\n     configuration from that commit\r\n  2. presubmit runs use  with the version of the pipeline configuration\r\n     from that commit if the PR comes from the main repo. This\r\n     limitation is for security reasons and is why this PR branch is in\r\n     the main repo. It limits potentially bypassing our normal checks to\r\n     people who already have write access to the repository. Suggestions\r\n     for ways to do this that support third party forks but maintains\r\n     this security are welcome.\r\n  3. Pipelines that we need to register with Buildkite can all be\r\n     checked in to source control and updated as part of the commit to\r\n     the main branch.\r\n\r\nThis required modifications to the smooth-checkout plugin, which I am\r\nupstreaming in\r\nhttps://github.com/hasura/smooth-checkout-buildkite-plugin/pull/25.\r\n\r\nThis allows testing changes to the presubmit pipeline itself on\r\npresubmit. Of course, it relies on the previous version of the pipeline\r\nbeing sufficiently compatible that it can successfully bootstrap, but\r\nthat shouldn\u0027t be too hard.\r\n\r\nWe now have enough stuff going on here that I created `pipelines/` and\r\n`scripts/` subdirectories. I did not move any of the legacy files (e.g.\r\nsamples.yml) to avoid breaking anything.\r\n\r\nIt\u0027s also looking like I should factor out some of the shared Buildkite\r\nPython API usage, but I\u0027d prefer to defer that till a later PR.\r\n\r\nCombines work from obsolete PRs\r\nhttps://github.com/google/iree/pull/8609 and\r\nhttps://github.com/google/iree/pull/8606. I tried to have this broken\r\nout into two PRs, but testing the presubmit pipeline in its current form\r\n(as registered with Buildkite) doesn\u0027t work very well, which is why this\r\nPR exists. It got all messed up because of the directory restructuring.\r\nI can split that out into a separate PR if that\u0027s preferred.\r\n\r\n* Lint\r\n\r\n* Avoid slashes in keys, which are apparently not allowed\r\n\r\n* Maybe avoiding reported issues with duplicate keys\r\n\r\n* Actually fix step key conflicts",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "44d89a091abe461146aa5322e2a93a1f172bd477",
      "new_mode": 33188,
      "new_path": "build_tools/buildkite/pipelines/include/README.md"
    },
    {
      "type": "rename",
      "old_id": "696056a0c89f78b5bea7266e6ebbbd73b2431b18",
      "old_mode": 33188,
      "old_path": "build_tools/buildkite/cla_failure.yml",
      "new_id": "8a3b0083cfe0f29238f37ad1c2fdc87bfb28629d",
      "new_mode": 33188,
      "new_path": "build_tools/buildkite/pipelines/include/cla-failure.yml",
      "score": 78
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1fe0a725a52f19ecd8294eacf125ce3fdebdb492",
      "new_mode": 33188,
      "new_path": "build_tools/buildkite/pipelines/postsubmit.yml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "815a57cb853d15e7e1fe20f841db56384c813a1c",
      "new_mode": 33188,
      "new_path": "build_tools/buildkite/pipelines/presubmit.yml"
    },
    {
      "type": "delete",
      "old_id": "4113140c3db9e36733543231a641f1e0f76d90aa",
      "old_mode": 33188,
      "old_path": "build_tools/buildkite/postsubmit.yml",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "60be3f6a79363aa7374120adf2806f4384be217c",
      "old_mode": 33188,
      "old_path": "build_tools/buildkite/postsubmit_bootstrap.yml",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "f29e3586c45a251159bf23960458b51e6169085e",
      "old_mode": 33188,
      "old_path": "build_tools/buildkite/presubmit.yml",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "6f8a7309b547c8971aea26e398538b7ad8cc7786",
      "old_mode": 33188,
      "old_path": "build_tools/buildkite/presubmit_bootstrap.yml",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bcafd41e1a2aae7323b182cec3c0cb7f770ad07f",
      "new_mode": 33261,
      "new_path": "build_tools/buildkite/scripts/bootstrap_pipeline.sh"
    },
    {
      "type": "rename",
      "old_id": "1bd00460ad567a07e7bdc012afd6823ebd0a310b",
      "old_mode": 33261,
      "old_path": "build_tools/buildkite/check_cla.py",
      "new_id": "1bd00460ad567a07e7bdc012afd6823ebd0a310b",
      "new_mode": 33261,
      "new_path": "build_tools/buildkite/scripts/check_cla.py",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "11cca71ac53da5fd8eda6847cd33f887178d6f9d",
      "old_mode": 33261,
      "old_path": "build_tools/buildkite/simulate_buildkite.sh",
      "new_id": "11cca71ac53da5fd8eda6847cd33f887178d6f9d",
      "new_mode": 33261,
      "new_path": "build_tools/buildkite/scripts/simulate_buildkite.sh",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8543bc3a933d8e85ad473ca5d223124f01cbc0f5",
      "new_mode": 33261,
      "new_path": "build_tools/buildkite/scripts/update_pipeline_configuration.py"
    },
    {
      "type": "rename",
      "old_id": "f494cf98453b3727d1a0acd07a00b09d7ddb8c61",
      "old_mode": 33261,
      "old_path": "build_tools/buildkite/wait_for_pipeline_success.py",
      "new_id": "dc7563e5c4d54ce6cadc910c9b11348c305f649d",
      "new_mode": 33261,
      "new_path": "build_tools/buildkite/scripts/wait_for_pipeline_success.py",
      "score": 89
    }
  ]
}
