Repository navigation
Test Bazel 7 and 8 across supported platforms - #70
Merged
Merged
Conversation
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.
CI now exercises Bazel 7.7.2, 8.8.2, and the repository-pinned version across Linux, macOS, and Windows. Each version runs the existing root and consumer checks with separate report artifacts, so compatibility regressions cannot hide behind a green default-version job.
AG;DR
.bazelversion(currently 9.1.1). This avoids duplicating the default version and preserves the pinned release as it changes.USE_BAZEL_VERSIONat job scope. Root tests, managed Windows checks, external consumer workspaces, and Bazel-built report collection all inherit the selected version. Keep direct Bazel commands and both runfiles modes unchanged.--shell_executablepointing at the downloaded Bash. Nativesh_binaryignores the rules_shell toolchain and otherwise selects the WSL stub on the runner. Consumer servers receive the same legacy configuration throughBAZEL_SH. Keep PATH stripped during root tests and run the standalone bashtest runtime check without a shell override orBAZEL_SH, so automatic framework bootstrapping remains independently tested.test-results-OS-bazel-VERSIONartifact. The existing final gate includes the whole matrix; PRs still only restore caches while main may save them.exec_compatible_withon both Bazel 7 and 8. Per-group constraints were introduced in Bazel 9, rather than Bazel 8 as previously documented. The same distinct-platform marker assertion still verifies tool configuration on all versions.Local validation:
pre-commit run --all-files,git diff --check, and fullbazel test //...runs with Bazel 7.7.2, 8.8.2, and pinned 9.1.1 passed. Each version passes 18 applicable macOS targets; the Windows-only runtime target is skipped locally. The full manifest-only suites also passed with Bazel 7 and 8. Execution-platform tools consumers passed with both versions, including their older execution-constraint API and the expected analysis-error checks. After correcting the Bazel 8 fixture, repository-wide pre-commit, the pinned full suite, the Bazel 8 manifest-only suite, and the Bazel 8 tools consumer passed again. Both complete external consumer scripts also passed under Bazel 7 and 8, including JUnit failure, filtering, sharding, fail-fast, and timeout checks. The Windows-driver correction passes repository-wide pre-commit and a fresh pinned full suite.Current-head validation: all 12 checks in run 40251285064 passed on
c3065c85c53a0e6d25e3ed3f7271cdfd439116f5: all nine OS/version cells, documentation, pre-commit, and the final gate. Downloaded all nine artifacts and validated 147 invocation records and 588 XML/log pairs. Every root and consumer invocation records the intended Bazel version (7.7.2, 8.8.2, or pinned 9.1.1), all expected outcomes match, and every artifact successfully renders with the Bazel-built summarizer. Windows 7 build events confirm the helper suites use the downloaded-shell override while the standalone bashtest runtime command succeeds without it.Dependency: #69 merged as
c6df64dcb51b73df3548b485e6c8dd76f9742b4d; post-merge main run 40249175905 passed before this branch started. No open PR dependencies. This is the first part of the next audit step; compiled execution-platform tools, end-to-end coverage, and plain sh_test Windows evaluation remain separate follow-ups. No public rule or runner implementation changes.The matrix has nine cells. Bazel 7/8 patch versions are explicit and can be updated independently; the default row follows
.bazelversion. All attempts and expected-fixture evidence remain in artifacts as before. Remote bytestream collection and Windows ARM64 are outside this change.