Repository navigation
ci(bazel): stage the pinned rules_python archive on hosted runners - #4847
Merged
Merged
Conversation
|
This was referenced Nov 9, 2026
ScriptedAlchemy
changed the base branch from
codex/linux-launcher-distribution
to
codex/preserve-macos-runner-dns
November 9, 2026 08:52
ScriptedAlchemy
changed the base branch from
codex/preserve-macos-runner-dns
to
master
November 9, 2026 08:58
ScriptedAlchemy
marked this pull request as ready for review
November 9, 2026 09:02
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The GitHub release URL for
rules_python-2.4.6.tar.gzreturned HTTP 504 before Bazel could run targets on hosted Linux and Windows. The same URL with?download=1also returned 504. The official release API served 1,755,063 bytes matching the SHA-256 in the Bazel Central Registry. Linux repository gates · #4827 Windows · #4834 WindowsHosted runners share public network quotas. The setup passes the job-scoped GitHub token only to the release API fetch step. With local TLS endpoints and a placeholder credential, ten transfers across Linux, macOS and Windows confirmed that the GitHub API received the optional header and the redirected storage host never did. The header is supplied on standard input, and both the original request and redirects require HTTPS.
The shared GitHub-hosted Bazel setup stages the original archive basename in its runner-private distdir on Linux, macOS and Windows. It formats the Windows temporary path for Git Bash and native Bazel. Only Linux x86-64 receives the two Linux launchers from #4837. Bazel retains the registry integrity policy and original download configuration. When the optional API is unavailable the setup leaves the missing file to the ordinary downloader. Registry metadata · Official release asset
With separate cold repository and contents caches on Bazel 9.3.2, the actual
@rules_pythonfetch failed when the original archive URL was redirected to a closed local port. Under that same condition, the production-staged archive passed registry integrity and extracted successfully. Invalid bytes at the correct basename failed. A refused API connection also left the directory empty, emitted a fallback notice and allowed setup to continue.On macOS, the production helper was exercised with hosted Linux x86-64, Linux ARM64, macOS ARM64 and Windows x86-64 environment values. Every case produced the expected files with the release/BCR digests. Bash ShellCheck, composite YAML parsing and actionlint passed. Git combined
2bc8cecb4ewith the independent cache-key change without conflicts. The hosted workflow at that head includes the Linux fleet and both affected suites on native Windows and macOS. The native macOS runner then failed to resolve both api.github.com and releases.bazel.build before running Bazel. Atf552c1ff15, this draft is stacked on the hosted macOS DNS repair. The release staging patch retains its exact stable patch ID. The new native macOS verification selects the same two suites. Keep this prerequisite draft for independent review and hosted qualification.