bcr_test_module:
  module_path: test
  matrix:
    # Currently does not build in Windows due to the Windows defines being
    # hardcoded in src/win32_config.h with all features enabled, so we cannot
    # disable building with OpenSSL (the BCR OpenSSL does not support Windows)
    # without patching this file to use something like #ifndef instead.
    unix_platform:
      - debian11
      - ubuntu2004
      - ubuntu2204
      - ubuntu2404
      - macos
      - macos_arm64
    bazel: [7.x, 8.x, rolling]
  tasks:
    verify_targets_unix:
      platform: ${{ unix_platform }}
      bazel: ${{ bazel }}
      build_flags:
        # So we don't have any boringssl/openssl conflicts (BCR curl defaults to
        # boringssl).
        - "--@curl//:ssl_lib=openssl"
      build_targets:
        - "@librdkafka//:librdkafka"
        - "@librdkafka//:librdkafka_cpp"
      test_flags:
        # So we don't have any boringssl/openssl conflicts (BCR curl defaults to
        # boringssl).
        - "--@curl//:ssl_lib=openssl"
      test_targets:
        - "@librdkafka//:all"
    verify_targets_no_features_unix:
      platform: ${{ unix_platform }}
      bazel: ${{ bazel }}
      build_flags:
        - "--@librdkafka//:with_curl=false"
        - "--@librdkafka//:with_ssl=false"
        - "--@librdkafka//:with_zlib=false"
        - "--@librdkafka//:with_zstd=false"
      build_targets:
        - "@librdkafka//:librdkafka"
        - "@librdkafka//:librdkafka_cpp"
      test_flags:
        - "--@librdkafka//:with_curl=false"
        - "--@librdkafka//:with_ssl=false"
        - "--@librdkafka//:with_zlib=false"
        - "--@librdkafka//:with_zstd=false"
      test_targets:
        - "@librdkafka//:all"
