)]}'
{
  "commit": "74edb28fda9543d8b1f7b97e07b9f54fcda40ef4",
  "tree": "847de3382c345649d70f4b1b003ca8d005921b23",
  "parents": [
    "1ecfc98b722a7fc66d024acf611659792f01bb7d"
  ],
  "author": {
    "name": "Connor",
    "email": "services+github@sallustfire.com",
    "time": "Mon Aug 03 12:20:37 2026 -0600"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Aug 03 20:20:37 2026 +0200"
  },
  "message": "docker: fail the image build when the containerd store is disabled (#2753)\n\nbuild.sh builds several images as multi-platform (amd64 + arm64) with\nbuildx --load, which only retains both platforms when Docker uses the\ncontainerd image store. On a classic-store machine, --load silently\nkeeps just the host-native platform, and push.sh then replaces the\nmulti-arch tag in gcr.io with a single-arch manifest.\n\nThis is what happened to gcr.io/bazel-public/ubuntu2404 after the\n2026-07-31 rebuild (#2748, #2750): the tag currently serves a plain\namd64 manifest with no manifest list, and every ubuntu2404_arm64 BCR\npresubmit job since then dies before bcr_presubmit.py runs.\n\nThe script already acknowledged the requirement with a comment and a\ndocker info printout, but nothing enforced it. This turns the printout\ninto a hard failure so an incomplete image set can\u0027t be built, and\ntherefore can\u0027t be pushed.\n\nThe broken tag itself still needs a rebuild + re-push from a\ncontainerd-store machine, but this prevents the next occurrence.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f5472dc5141bb3a52611c885ff23f0e04f55628d",
      "old_mode": 33261,
      "old_path": "buildkite/docker/build.sh",
      "new_id": "87f47896b8fcf028b32c62ff92e0890bb4128307",
      "new_mode": 33261,
      "new_path": "buildkite/docker/build.sh"
    }
  ]
}
