matrix:
  platform:
    - debian11
    - ubuntu2004
    - ubuntu2204
    - ubuntu2404
    - macos
    - macos_arm64
    - windows
  unix_platform:
    - debian11
    - ubuntu2004
    - ubuntu2204
    - ubuntu2404
    - macos
    - macos_arm64
  bazel:
    - 7.x
    - 8.x
    - rolling

tasks:
  verify_targets:
    name: Verify build targets
    platform: ${{ platform }}
    bazel: ${{ bazel }}
    build_targets:
      - "@curl//..."

  verify_targets_with_boringssl:
    name: Verify build targets with boringssl
    platform: ${{ platform }}
    bazel: ${{ bazel }}
    build_targets:
      - "@curl//..."
    build_flags:
      - "--@curl//:ssl_lib=boringssl"

  verify_targets_with_mbedtls:
    name: Verify build targets with mbedtls
    platform: ${{ platform }}
    bazel: ${{ bazel }}
    build_targets:
      - "@curl//..."
    build_flags:
      - "--@curl//:ssl_lib=mbedtls"

  verify_targets_with_openssl:
    name: Verify build targets with openssl
    # The OpenSSL on BCR does not support Windows.
    platform: ${{ unix_platform }}
    bazel: ${{ bazel }}
    build_targets:
      - "@curl//..."
    build_flags:
      - "--@curl//:ssl_lib=openssl"

  verify_targets_http_only_disabled:
    name: Verify build targets with HTTP only disabled
    platform: ${{ platform }}
    bazel: ${{ bazel }}
    build_targets:
      - "@curl//..."
    build_flags:
      - "--@curl//:http_only=false"
