arch-specific hash spinning for bazel-testing
diff --git a/buildkite/bazelci.py b/buildkite/bazelci.py index 20eb337..148755b 100755 --- a/buildkite/bazelci.py +++ b/buildkite/bazelci.py
@@ -294,36 +294,92 @@ }[BUILDKITE_ORG] IMAGE_HASHES = { - "rockylinux8": "sha256:c84c6cfcfccd9cf4f3e51e3da153cbb566faf8093e055bd74fd2c1dd4d90e00a", - "rockylinux8-java11": "sha256:d92d6954423633acaec617c6c2b2141249e6619a53c678720df31269f126995c", - "rockylinux8-java11-devtoolset10": "sha256:060341a8ebd20de07d262e021160037952047c397b4154cad5bfe8a47e68fbc2", - "debian10-java11": "sha256:fe61c5586504831d72f97afea30a1fbd2edf9cd4ed2aa3f7b8df4ddce9fe3316", - "debian11-java17": "sha256:1bf4a3335ea25959df8c16ebe7c1ad2e0e142f33cc921f13c87ff8c553b87fe4", - "debian12": "sha256:ebb15e85f49265372b2fb82f060ee7c211e4bc1f31a57afd1bad588671ff7b40", - "debian13": "sha256:f6d7a343a64e12c11604878518cd690296d767a84faca504a4154307eafd9cd7", - "ubuntu1604-java8": "sha256:59230d80e329bc67d9367269fdead37d2b120b1fad042f33b38b3bf8ecc107ef", - "ubuntu1804-java11": "sha256:d542de5cd3bd40f9f9531f70e2c0114fec9affaaee071875bd1d2b47bfb9f942", - "ubuntu2004-java11": "sha256:ed81fb22e69891cf90dcb113ae31fbccba54ab24e721c3efa62ad24274867389", - "ubuntu2004": "sha256:e950e704b6945a1e6e85ae222765ba3ca0b882e992d12bfc8f59d16d0b8d52e5", - "ubuntu2204": "sha256:3dd6ffbd8755c3622871d77ee6e4fec49eb0dba0017f72d424adc143d5ce7e2c", - "ubuntu2404": "sha256:a51f308a2cd8c24e4a920333b7af67595762d304ea656bfcb43e6d48738be319", - "ubuntu2004-kythe": "sha256:3862183a7674064e7e36ab851166e5a20eaccb47c8dd7205354fc8de6a6be0e9", - "ubuntu2204-kythe": "sha256:b5e83494b66ebac31733738cab0ae330f447fe38127c6fa33f22e8f1e4712a9a", - "ubuntu2404-kythe": "sha256:a549caebfaeef85ec141def86398ec651a71185c8aec885e0d95bddc1144a00f", - "ubuntu2204-java17": "sha256:b278d1275ede59d8e22c7e960270f8929e40fbfe69f75dace3d3a00fb56a1bad", - "fedora39-java17": "sha256:06c860cb2fe1f799947c3ad0f0cf52f19b124aa64ecf1370dda82d8185777579", - "fedora40-java21": "sha256:7841b69721114dc8b20d825ec6e6575816dec0a1ae9c94073fff52c17149d244", - "fedora43-java25": "sha256:0a6f5fd48d3ffc387da42646d0dbf025b18bdc70ef81a2534550af7feaca0ccd", + "rockylinux8": { + "amd64": "sha256:6a03ef8c6bbaf1f5fbea74890cc074951076adcf6347d1a7904357ad5e27297b", + "arm64": "sha256:c84c6cfcfccd9cf4f3e51e3da153cbb566faf8093e055bd74fd2c1dd4d90e00a", + }, + "rockylinux8-java11": { + "amd64": "sha256:f219f0b6b8cdd5e2c986c82b22176354eb737ec7003598fe999e806afa328c31", + "arm64": "sha256:d92d6954423633acaec617c6c2b2141249e6619a53c678720df31269f126995c", + }, + "rockylinux8-java11-devtoolset10": { + "amd64": "sha256:d3d1e037c983e01c8de3a1c6e4cc30ce967eb41736a163284d5c2a44ce4375fb", + "arm64": "sha256:060341a8ebd20de07d262e021160037952047c397b4154cad5bfe8a47e68fbc2", + }, + "debian10-java11": { + "amd64": "sha256:fe61c5586504831d72f97afea30a1fbd2edf9cd4ed2aa3f7b8df4ddce9fe3316", + }, + "debian11-java17": { + "amd64": "sha256:1bf4a3335ea25959df8c16ebe7c1ad2e0e142f33cc921f13c87ff8c553b87fe4", + }, + "debian12": { + "amd64": "sha256:d839bcbd399d5bbb12eec5d4ea5474927340237ced942038a4bc6d9ec44f9b0b", + "arm64": "sha256:ebb15e85f49265372b2fb82f060ee7c211e4bc1f31a57afd1bad588671ff7b40", + }, + "debian13": { + "amd64": "sha256:f7a2dc5f22f908b02b6d135ca5d0ce29a4f33837f4a1f11739a2efeb24429e58", + "arm64": "sha256:f6d7a343a64e12c11604878518cd690296d767a84faca504a4154307eafd9cd7", + }, + "ubuntu1604-java8": { + "amd64": "sha256:59230d80e329bc67d9367269fdead37d2b120b1fad042f33b38b3bf8ecc107ef", + }, + "ubuntu1804-java11": { + "amd64": "sha256:d542de5cd3bd40f9f9531f70e2c0114fec9affaaee071875bd1d2b47bfb9f942", + }, + "ubuntu2004-java11": { + "amd64": "sha256:e28256ad8c9edf38c64eff79949a75ee7d46b171e276efb780cc76b7fb8666a8", + "arm64": "sha256:ed81fb22e69891cf90dcb113ae31fbccba54ab24e721c3efa62ad24274867389", + }, + "ubuntu2004": { + "amd64": "sha256:275c8fb564b5c5e3b842fd776b3044334de8b32ea28368f8b71db6ac466c1471", + "arm64": "sha256:e950e704b6945a1e6e85ae222765ba3ca0b882e992d12bfc8f59d16d0b8d52e5", + }, + "ubuntu2204": { + "amd64": "sha256:0910bd665b9893f096591e5c55598d759546a7556f9e3999711ad4129e0dc4b3", + "arm64": "sha256:3dd6ffbd8755c3622871d77ee6e4fec49eb0dba0017f72d424adc143d5ce7e2c", + }, + "ubuntu2404": { + "amd64": "sha256:e5a281780c73f99c5e5d947ff58fbf22b0d6deb12c9f4548080647b67f35049d", + "arm64": "sha256:a51f308a2cd8c24e4a920333b7af67595762d304ea656bfcb43e6d48738be319", + }, + "ubuntu2004-kythe": { + "amd64": "sha256:3862183a7674064e7e36ab851166e5a20eaccb47c8dd7205354fc8de6a6be0e9", + }, + "ubuntu2204-kythe": { + "amd64": "sha256:11f2fdc76e05af95375e7bd142c0715f60e65da77d43678b83f2b91307fc7d26", + "arm64": "sha256:b5e83494b66ebac31733738cab0ae330f447fe38127c6fa33f22e8f1e4712a9a", + }, + "ubuntu2404-kythe": { + "amd64": "sha256:1128a022f4bd894f21d6d7405fe60871a9fe023bb2d2e67f0c9d9da05829bcdf", + "arm64": "sha256:a549caebfaeef85ec141def86398ec651a71185c8aec885e0d95bddc1144a00f", + }, + "ubuntu2204-java17": { + "amd64": "sha256:30a297efcd87e89df7751e779ce5fe49e187e64eb771029aaf4464a1f532626c", + "arm64": "sha256:b278d1275ede59d8e22c7e960270f8929e40fbfe69f75dace3d3a00fb56a1bad", + }, + "fedora39-java17": { + "amd64": "sha256:06c860cb2fe1f799947c3ad0f0cf52f19b124aa64ecf1370dda82d8185777579", + }, + "fedora40-java21": { + "amd64": "sha256:7841b69721114dc8b20d825ec6e6575816dec0a1ae9c94073fff52c17149d244", + }, + "fedora43-java25": { + "amd64": "sha256:0a6f5fd48d3ffc387da42646d0dbf025b18bdc70ef81a2534550af7feaca0ccd", + }, } -def get_docker_image(image_name): +def get_docker_image(image_name, is_arm64=False): # Temporarily disable this check to enable testing hash pinning in the testing cluster. ##if BUILDKITE_ORG == "bazel-testing": ## return f"gcr.io/{DOCKER_REGISTRY_PREFIX}/{image_name}" - digest = IMAGE_HASHES.get(image_name) - if not digest: + digests = IMAGE_HASHES.get(image_name) + if not digests: raise ValueError(f"No digest found for docker image: {image_name}") + arch = "arm64" if is_arm64 else "amd64" + digest = digests.get(arch) + if not digest: + raise ValueError(f"No {arch} digest found for docker image: {image_name}") return f"gcr.io/{DOCKER_REGISTRY_PREFIX}/{image_name}@{digest}" @@ -350,7 +406,7 @@ "name": "Rocky Linux 8 ARM64", "emoji-name": ":rocky: Rocky Linux 8 ARM64", "publish_binary": ["linux_arm64"], - "docker-image": get_docker_image("rockylinux8"), + "docker-image": get_docker_image("rockylinux8", is_arm64=True), "python": "python3.8", "queue": "arm64", }, @@ -393,7 +449,7 @@ "name": "Debian 12 ARM64", "emoji-name": ":debian: Debian 12 ARM64", "publish_binary": [], - "docker-image": get_docker_image("debian12"), + "docker-image": get_docker_image("debian12", is_arm64=True), "python": "python3", "queue": "arm64", }, @@ -408,7 +464,7 @@ "name": "Debian 13 ARM64", "emoji-name": ":debian: Debian 13 ARM64", "publish_binary": [], - "docker-image": get_docker_image("debian13"), + "docker-image": get_docker_image("debian13", is_arm64=True), "python": "python3", "queue": "arm64", }, @@ -444,7 +500,7 @@ "name": "Ubuntu 20.04 LTS ARM64", "emoji-name": ":ubuntu: Ubuntu 20.04 LTS ARM64", "publish_binary": [], - "docker-image": get_docker_image("ubuntu2004"), + "docker-image": get_docker_image("ubuntu2004", is_arm64=True), "python": "python3.8", "queue": "arm64", }, @@ -452,7 +508,7 @@ "name": "Ubuntu 22.04 LTS ARM64", "emoji-name": ":ubuntu: Ubuntu 22.04 LTS ARM64", "publish_binary": [], - "docker-image": get_docker_image("ubuntu2204"), + "docker-image": get_docker_image("ubuntu2204", is_arm64=True), "python": "python3", "queue": "arm64", }, @@ -460,7 +516,7 @@ "name": "Ubuntu 24.04 LTS ARM64", "emoji-name": ":ubuntu: Ubuntu 24.04 LTS ARM64", "publish_binary": [], - "docker-image": get_docker_image("ubuntu2404"), + "docker-image": get_docker_image("ubuntu2404", is_arm64=True), "python": "python3", "queue": "arm64", },