blob: 6ff8d263992c8cc6e23542d25ed52ffc26d76bcb [file]
---
build_targets: &build_targets
- "//..."
# can't build some analysis tests on older Bazel versions
- "-//test/java/..."
# build java_tools from source
- "@remote_java_tools//:ijar_cc_binary"
- "@remote_java_tools//:one_version_cc_bin"
- "@remote_java_tools//:proguard"
- "@remote_java_tools//:singlejar_cc_bin"
# can't build @remote_java_tools_X repos for other platforms
- "-//toolchains/..."
- "-//java/docs/..."
build_targets_integration: &build_targets_integration
- "//..."
- "//:bin_deploy.jar"
test_targets: &test_targets
- "//test/..."
test_target_integration: &test_target_integration
- "//:MyTest"
flags_workspace_integration: &flags_workspace_integration
- "--noenable_bzlmod"
- "--enable_workspace"
buildifier: latest
matrix:
all_platforms: ["rockylinux8_arm64", "ubuntu2004", "macos", "macos_arm64", "windows"]
bazel: ["7.x", "8.x", "9.x", "last_green"]
modern_bazel: ["9.x", "last_green", "rolling"] # Fully supported Bazel versions
tasks:
# Bazel 9+
build_and_test:
name: "Bazel {modern_bazel}"
bazel: ${{ modern_bazel }}
platform: ${{ all_platforms }}
build_targets: *build_targets
test_targets: *test_targets
# Bazel 8.x
build_and_test_bazel8:
name: "Bazel 8.x"
bazel: "8.x"
platform: ${{ all_platforms }}
build_targets: *build_targets
test_targets: *test_targets
test_flags:
- "--test_tag_filters=-min_bazel_9"
# Bazel 7.x
build_and_test_bazel7:
name: "Bazel 7.x"
bazel: "7.x"
platform: ${{ all_platforms }}
build_targets: *build_targets
test_targets: *test_targets
test_flags:
- "--test_tag_filters=-min_bazel_8,-min_bazel_9"
# Integration tests
integration_build_and_test:
name: "Integration w/ Bazel {bazel}"
bazel: ${{ bazel }}
platform: ${{ all_platforms }}
working_directory: "test/repo"
shell_commands:
- sh setup.sh
batch_commands:
- setup.bat
build_targets: *build_targets_integration
test_targets: *test_target_integration
integration_build_and_test_workspace:
name: "Integration (WORKSPACE) w/ Bazel {bazel}"
bazel: ${{ bazel }}
platform: ${{ all_platforms }}
working_directory: "test/repo"
shell_commands:
- sh setup.sh
batch_commands:
- setup.bat
build_targets: *build_targets_integration
build_flags: *flags_workspace_integration
test_targets: *test_target_integration
test_flags: *flags_workspace_integration
# internal tests for configs and release process
internal_tests:
name: "Internal tests"
platform: "ubuntu2004"
shell_commands:
- "git init"
- "git config user.name 'fake-user-for-testing'"
- "git commit --allow-empty -m 'Fake init commit'"
- "git tag -a 'fake-tag-for-testing' -m 'ignore'"
- "git commit --allow-empty -m 'Fake commit message for testing'"
- "git tag -a 'fake-tag-for-testing2' -m 'ignore'"
test_targets:
- "//test:check_remote_jdk_configs_test"
- "//test:check_remote_java_tools_configs_test"
- "//test:check_release_notes_test"