Skip to content

array-record: Fix bazel-bootstrap env var name mismatch - #2125

Merged
luhenry merged 1 commit into
mainfrom
fix/array-record-bazel-bootstrap-env-var
Sep 20, 2026
Merged

luhenry merged 1 commit into
mainfrom
fix/array-record-bazel-bootstrap-env-var

Conversation

@luhenry

@luhenry luhenry commented Sep 20, 2026 •

Copy link
Copy Markdown
Member
  • Package: array-record (already published; no version change)
  • Scope: one line in .github/workflows/build-array-record.yml

The bazel bootstrap job'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 only in the build_wheels job, so under the bootstrap script's set -eux that download aborts on an unbound variable.

The bootstrap wants bazel 7.5.0's pinned rules_python (0.33.2), whose toolchains_repo.bzl the adjacent sed patches — that is the workflow-level RULES_PYTHON_VERSION. The build job's 1.6.0 is array_record's own rules_python and patches a different file, so the two are not interchangeable. build-ray.yml and build-labmaze.yml already use the corrected form for the same recipe, and the line now matches theirs exactly.

The bug is latent rather than breaking: the cache key bazel-7.5.0-manylinux_riscv64 is shared across workflows, so the bootstrap step is skipped on a cache hit and has never executed this path. It would fail on the first cache miss.

Testing: none needed — no rebuild is triggered and the published 0.8.3 wheels are unaffected. Every ${VAR} the bootstrap heredoc expands is now either assigned in the script or named in a -e flag on its docker run.

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.
@luhenry
luhenry merged commit 9c6c031 into main Sep 20, 2026
7 checks passed
@luhenry
luhenry deleted the fix/array-record-bazel-bootstrap-env-var branch September 20, 2026 15:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant