bcr_test_module:
  module_path: ""
  matrix:
    platform: ["macos", "ubuntu2004"]
    bazel: ["6.x", "7.x"]
  tasks:
    run_tests:
      working_directory: examples/bzlmod/hello_world
      name: "Run test module"
      platform: ${{ platform }}
      bazel: ${{ bazel }}
      # Remove the lockfile because we generate on Bazel 7, but test on Bazel 6 which may not be able to parse a future-generated lockfile.
      shell_commands:
        - "rm MODULE.bazel.lock"
      run_targets:
        - "//third-party:vendor"
        - "@rules_rust//tools/rust_analyzer:gen_rust_project"
      test_targets:
        - "//..."
# Windows is run separately because currently gen_rust_project doesn't run on windows, although it does build
bcr_test_module_windows:
  module_path: ""
  matrix:
    bazel: ["6.x", "7.x"]
  tasks:
    run_tests:
      working_directory: examples/bzlmod/hello_world
      name: "Run test module"
      platform: windows
      bazel: ${{ bazel }}
      # Remove the lockfile because we generate on Bazel 7, but test on Bazel 6 which may not be able to parse a future-generated lockfile.
      shell_commands:
        - "rm MODULE.bazel.lock"
      run_targets:
        - "//third-party:vendor"
      build_targets:
        - "@rules_rust//tools/rust_analyzer:gen_rust_project"
      test_targets:
        - "//..."
