rules_cc/.bazelci/presubmit.yml

136 lines
4.1 KiB
YAML

---
build_targets: &build_targets
- "//:all"
- "//cc/..."
- "//examples/..."
- "//tests/..."
- "-//examples/custom_toolchain:legacy_selector" # Example only works on Linux
- "-//tests/rule_based_toolchain/tool_map:_duplicate_tool_test_subject" # Intentionally broken rule.
test_targets: &test_targets
- "//:all"
- "//cc/..."
- "//examples/..."
- "//tests/..."
- "-//examples/custom_toolchain:legacy_selector" # Example only works on Linux
- "-//tests/rule_based_toolchain/tool_map:_duplicate_tool_test_subject" # Intentionally broken rule.
build_targets_bazel_6: &build_targets_bazel_6
- "//:all"
- "//cc:all"
- "//examples/..."
- "//tests/..."
- "-//examples/custom_toolchain:legacy_selector" # Example only works on Linux
- "-//tests/rule_based_toolchain/..." # proto.encode_text doesn't support None
- "-//cc:optional_current_cc_toolchain" # Not supported in Bazel 6
- "-//tests/rule_based_toolchain/tool_map:_duplicate_tool_test_subject" # Intentionally broken rule.
test_targets_bazel_6: &test_targets_bazel_6
- "//:all"
- "//cc:all"
- "//examples/..."
- "//tests/..."
- "-//examples/custom_toolchain:legacy_selector" # Example only works on Linux
- "-//tests/rule_based_toolchain/..." # proto.encode_text doesn't support None
- "-//cc:optional_current_cc_toolchain" # Not supported in Bazel 6
- "-//tests/rule_based_toolchain/tool_map:_duplicate_tool_test_subject" # Intentionally broken rule.
buildifier:
version: latest
warnings: "all"
tasks:
ubuntu2004:
name: Docs
test_targets:
- "//docs/..."
- "-//docs:toolchain_api_diff_test" # Bazel adds loads statements in examples
# Bazel LTS
ubuntu2004:
name: Ubuntu 20.04 (Bazel LTS)
build_targets: *build_targets
test_targets: *test_targets
macos:
name: MacOS (Bazel LTS)
build_targets: *build_targets
test_targets: *test_targets
windows:
name: Windows (Bazel LTS)
build_targets: *build_targets
test_targets: *test_targets
ubuntu_bzlmod:
name: Ubuntu 20.04 (Bazel LTS, bzlmod)
platform: ubuntu2004
build_flags:
- "--enable_bzlmod"
- "--ignore_dev_dependency"
# Bazel@HEAD
ubuntu2004_head:
name: Ubuntu 20.04 (Bazel HEAD)
bazel: last_green
platform: ubuntu2004
environment:
EXP_USE_CQUERY: 1 # Don't build incompatible targets
build_targets: *build_targets
test_targets:
- "//:all"
- "//cc/..."
- "//examples/..."
- "//tests/..."
- "-//examples/custom_toolchain:legacy_selector" # Example only works on Linux
- "-//tests/system_library:system_library_test" # Fails because of repo setup
- "-//tests/rule_based_toolchain/tool_map:_duplicate_tool_test_subject" # Intentionally broken rule.
macos_head:
name: MacOS (Bazel HEAD)
bazel: last_green
platform: macos
environment:
EXP_USE_CQUERY: 1 # Don't build incompatible targets
build_targets: *build_targets
test_targets: *test_targets
windows_head:
name: Windows (Bazel HEAD)
bazel: last_green
platform: macos
environment:
EXP_USE_CQUERY: 1 # Don't build incompatible targets
build_targets: *build_targets
test_targets: *test_targets
# Bazel 6
ubuntu2004_bazel_6:
name: Ubuntu 20.04 (Bazel 6)
bazel: 6.3.0
platform: ubuntu2004
environment:
EXP_USE_CQUERY: 1 # Don't build incompatible targets
build_targets: *build_targets_bazel_6
test_targets: *test_targets_bazel_6
macos_bazel_6:
name: MacOS (Bazel 6)
bazel: 6.3.0
platform: macos
environment:
EXP_USE_CQUERY: 1 # Don't build incompatible targets
build_targets: *build_targets_bazel_6
test_targets: *test_targets_bazel_6
windows_bazel_6:
name: Windows (Bazel 6)
bazel: 6.3.0
platform: macos
environment:
EXP_USE_CQUERY: 1 # Don't build incompatible targets
build_targets: *build_targets_bazel_6
test_targets: *test_targets_bazel_6
ubuntu_rule_based_toolchains:
name: Ubuntu rule-based toolchains
platform: ubuntu1804
working_directory: examples/rule_based_toolchain
build_flags:
- "--enable_bzlmod"
build_targets:
- "//..."
test_targets:
- "//..."