[EXP] Bazel 8 support #11507
This file contains 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
name: Tests | |
on: | |
pull_request: | |
paths-ignore: | |
- 'doc/**' | |
merge_group: | |
push: | |
branches: | |
- main | |
concurrency: | |
# Cancel existing builds for the same PR. | |
# Otherwise, all other builds will be allowed to run through. | |
group: test.yml-${{ github.event.pull_request.number || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
fixup: | |
if: github.event_name == 'pull_request' | |
uses: ./.github/workflows/fixup.yml | |
labels: | |
if: github.event_name == 'pull_request' | |
uses: ./.github/workflows/labels.yml | |
test: | |
strategy: | |
matrix: | |
os: | |
[ | |
{ name : linux, image : ubuntu-22.04 }, | |
{ name : linux-arm, image : ubuntu-22.04-arm }, | |
{ name : macOS, image : macos-15 }, | |
{ name : windows, image : windows-2025 } | |
] | |
config: | |
[ | |
# Default build: no suffix or additional bazel arguments | |
{ suffix: '' }, | |
# Debug build | |
{ suffix: -debug } | |
] | |
include: | |
# Add an Address Sanitizer (ASAN) build on Linux for additional checking. | |
- os: { name: linux, image: ubuntu-22.04 } | |
config: { suffix: -asan } | |
# TODO (later): The custom Windows-debug configuration consistently runs out of disk | |
# space on CI, disable it for now. Once https://github.com/bazelbuild/bazel/issues/21615 | |
# has been resolved we can likely re-enable it and possibly fold up the custom | |
# configurations, as we can more easily disable PDB file generation. | |
# - os: { name : windows, image : windows-2025 } | |
# config: { suffix: -debug, bazel-args: --config=windows_dbg } | |
exclude: | |
- os: { name : windows, image : windows-2025 } | |
config: { suffix: -debug } | |
# due to resource constraints, exclude the macOS and x64 Linux debug runners for now. | |
# linux-asan and arm64 linux-debug should provide sufficient coverage for building in the | |
# debug configuration. | |
- os: { name : macOS, image : macos-15 } | |
config: { suffix: -debug } | |
- os: { name : linux, image : ubuntu-22.04 } | |
config: { suffix: -debug } | |
fail-fast: false | |
uses: ./.github/workflows/_bazel.yml | |
with: | |
image: ${{ matrix.os.image }} | |
os_name: ${{ matrix.os.name }} | |
suffix: ${{ matrix.config.suffix }} | |
extra_bazel_args: "--config=ci-test" | |
secrets: | |
BAZEL_CACHE_KEY: ${{ secrets.BAZEL_CACHE_KEY }} | |
WORKERS_MIRROR_URL: ${{ secrets.WORKERS_MIRROR_URL }} | |
lint: | |
uses: ./.github/workflows/_bazel.yml | |
with: | |
extra_bazel_args: "--config=lint --config=ci-test" | |
run_tests: false | |
secrets: | |
BAZEL_CACHE_KEY: ${{ secrets.BAZEL_CACHE_KEY }} | |
WORKERS_MIRROR_URL: ${{ secrets.WORKERS_MIRROR_URL }} |