matrix:
  # Removing ubuntu just for this release candidate
  platform: ["debian10", "macos"]
  bazel: [7.x]

tasks:
  verify_targets:
    name: "Verify build targets"
    platform: ${{ platform }}
    bazel: ${{ bazel }}
    build_flags:
    - '--host_cxxopt=-std=c++17'
    - '--cxxopt=-std=c++17'   
    build_targets:
    - '@protobuf//:protobuf'
    - '@protobuf//:protobuf_lite'
    - '@protobuf//:protobuf_python'
    - '@protobuf//:protobuf_java'
    - '@protobuf//:protoc'
    - '@protobuf//:test_messages_proto2_cc_proto'
    - '@protobuf//:test_messages_proto3_cc_proto'
  # Separating windows for different c++ build flags.
  verify_targets_windows:
    name: "Verify windows build targets"
    platform: windows
    bazel: ${{ bazel }}
    build_flags:
    - '--cxxopt=/std:c++17'
    - '--host_cxxopt=/std:c++17'
    - '--extra_execution_platforms=@protobuf//build_defs:x64_windows-clang-cl'
    - '--host_platform=@protobuf//build_defs:x64_windows-clang-cl'
    - '--extra_toolchains=@local_config_cc//:cc-toolchain-x64_windows-clang-cl'
    build_targets:
    - '@protobuf//:protobuf'
    - '@protobuf//:protobuf_lite'
    - '@protobuf//:protobuf_python'
    - '@protobuf//:protobuf_java'
    - '@protobuf//:protoc'
    - '@protobuf//:test_messages_proto2_cc_proto'
    - '@protobuf//:test_messages_proto3_cc_proto'

bcr_test_module:
  module_path: "examples"
  matrix:
    # Removing ubuntu just for this release candidate
    platform: ["debian10", "macos"]
    bazel: [7.x]
  tasks:
    run_test_module:
      name: "Run test module"
      platform: ${{ platform }}
      bazel: ${{ bazel }}
      build_flags:
      - '--host_cxxopt=-std=c++17'
      - '--cxxopt=-std=c++17'
      build_targets:
      - "//..."
    run_test_module_windows:
      name: "Run windows test module"
      platform: windows
      bazel: ${{ bazel }}
      build_flags:
      - '--cxxopt=/std:c++17'
      - '--host_cxxopt=/std:c++17'
      build_targets:
      - "//..."
