From 7d77bd158ffa3d00add5bd93d5339f9fe8082a92 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Sun, 20 Sep 2026 05:47:54 +0000 Subject: [PATCH] array-record: Fix bazel-bootstrap env var name mismatch The bootstrap script's rules_python download interpolated ${PROJECT_RULES_PYTHON_VERSION}, but its `docker run` only passes `-e RULES_PYTHON_VERSION` into the container. PROJECT_RULES_PYTHON_VERSION is set solely in the build_wheels job, so under the script's own `set -eux` that curl would abort on an unbound variable. The bootstrap wants bazel 7.5.0's pinned rules_python (0.33.2) - the version whose toolchains_repo.bzl the following sed patches - which is what the workflow-level RULES_PYTHON_VERSION holds; the build job's 1.6.0 is array_record's own rules_python and patches a different file. build-ray.yml and build-labmaze.yml use the correct form for this recipe. This stayed latent because the cache key bazel-7.5.0-manylinux_riscv64 is shared across workflows, so the bootstrap step has been skipped on a cache hit on every run so far. --- .github/workflows/build-array-record.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-array-record.yml b/.github/workflows/build-array-record.yml index 3f8b690d9fdc..5a5b8573d606 100644 --- a/.github/workflows/build-array-record.yml +++ b/.github/workflows/build-array-record.yml @@ -94,7 +94,7 @@ jobs: # (bazelbuild/bazel#23018). Any linux entry is a safe stand-in: the toolchain it names # is never selected on a riscv64 host. Fixed in bazel 8.2.0; the 7.x backport is open. mkdir -p /tmp/rules_python - curl -fsSLo /tmp/rules_python.tar.gz "https://github.com/bazel-contrib/rules_python/releases/download/${PROJECT_RULES_PYTHON_VERSION}/rules_python-${PROJECT_RULES_PYTHON_VERSION}.tar.gz" + curl -fsSLo /tmp/rules_python.tar.gz "https://github.com/bazel-contrib/rules_python/releases/download/${RULES_PYTHON_VERSION}/rules_python-${RULES_PYTHON_VERSION}.tar.gz" tar -xzf /tmp/rules_python.tar.gz -C /tmp/rules_python --strip-components=1 sed -i 's|fail("No platform declared for host OS {} on arch {}".format(os_name, arch))|return "x86_64-unknown-linux-gnu"|' \ /tmp/rules_python/python/private/toolchains_repo.bzl