)]}'
{
  "commit": "0b62dced6bee8173eebbe2140e5edc972a25fba4",
  "tree": "8a6dc9fbd938ba36f2d42c35795a707a2ef4c92d",
  "parents": [
    "28a8320968644e3185661c8773c2b6dacbeabb21"
  ],
  "author": {
    "name": "Kannan J",
    "email": "kannanjgithub@google.com",
    "time": "Fri May 29 10:56:42 2026 +0530"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri May 29 10:56:42 2026 +0530"
  },
  "message": "build: downgrade multiarch to Ubuntu 20.04 and consolidate images (#12830)\n\nDowngrades the multiarch build environment from Ubuntu 24.04 to 20.04.\nThis ensures that native artifacts for aarch64 and ppc64le are linked\nagainst glibc 2.31, providing better compatibility with older but\nstill-supported distributions (like RHEL 8 and Ubuntu 20.04).\n\nAdditionally, this consolidates s390x cross-compilation into the\nmultiarch image, removing the need for a separate ubuntu2004 base image.\n\n- Update Dockerfile.multiarch.base to use ubuntu:20.04\n- Add g++-s390x-linux-gnu to multiarch image\n- Update linux_artifacts.sh to use multiarch for all cross-builds\n- Remove references to Dockerfile.ubuntu2004.base in build scripts\n\n  Summary of what this commit achieves:\n1. Improves Compatibility: Lowering the glibc requirement from 2.39\n(Ubuntu 24.04) to 2.31 (Ubuntu 20.04) prevents \"version `GLIBC_2.XX\u0027 not\nfound\" errors when users try to run the artifacts on older systems.\n2. Simplifies CI: Merges the s390x toolchain into the multiarch image,\nreducing the number of Docker images the project needs to build and\nmaintain.\n3. Implements stopgap: Directly implements the choice of Ubuntu 20.04\nsuggested as a safer stopgap for the build.\n\nFixes #12797.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b34f9a6e54215e797f7addf39ca7d92ac19e66d8",
      "old_mode": 33261,
      "old_path": "buildscripts/build_docker.sh",
      "new_id": "fa75c07c1eb7100347684abd295efb7646c1adba",
      "new_mode": 33261,
      "new_path": "buildscripts/build_docker.sh"
    },
    {
      "type": "modify",
      "old_id": "6b6709946773777370150ca38be8dd7a7dcf7fb0",
      "old_mode": 33188,
      "old_path": "buildscripts/grpc-java-artifacts/Dockerfile.multiarch.base",
      "new_id": "b2f5625afe373c7bc0b455e928e4145c21f92bd2",
      "new_mode": 33188,
      "new_path": "buildscripts/grpc-java-artifacts/Dockerfile.multiarch.base"
    },
    {
      "type": "delete",
      "old_id": "e987fb3e684b6191b9de6659196011f81b1c0e7d",
      "old_mode": 33188,
      "old_path": "buildscripts/grpc-java-artifacts/Dockerfile.ubuntu2004.base",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "49d9932dfa031e79183c6c74a9d97a44f013d03e",
      "old_mode": 33261,
      "old_path": "buildscripts/kokoro/linux_artifacts.sh",
      "new_id": "778826b2fc29ec1065189e6bfe73463f6ad91240",
      "new_mode": 33261,
      "new_path": "buildscripts/kokoro/linux_artifacts.sh"
    }
  ]
}
