# Copyright 2023 The Bazel Authors. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

---
buildifier:
  version: latest
  # keep this argument in sync with .pre-commit-config.yaml
  warnings: "all"
.reusable_config: &reusable_config
  build_targets:
    - "--"
    - "..."
    # As a regression test for #225, check that wheel targets still build when
    # their package path is qualified with the repo name.
    - "@rules_python//examples/wheel/..."
  build_flags:
    - "--keep_going"
  test_targets:
    - "--"
    - "..."
  test_flags:
    - "--test_tag_filters=-integration-test"
.common_bzlmod_flags: &common_bzlmod_flags
  test_flags:
    - "--experimental_enable_bzlmod"
  build_flags:
    - "--experimental_enable_bzlmod"
.reusable_build_test_all: &reusable_build_test_all
  build_targets: ["..."]
  test_targets: ["..."]
.coverage_targets_example_bzlmod: &coverage_targets_example_bzlmod
  coverage_targets: ["//:test"]
.coverage_targets_example_multi_python: &coverage_targets_example_multi_python
  coverage_targets:
    - //tests:my_lib_3_10_test
    - //tests:my_lib_3_11_test
    - //tests:my_lib_3_8_test
    - //tests:my_lib_3_9_test
    - //tests:my_lib_default_test
    - //tests:version_3_10_test
    - //tests:version_3_11_test
    - //tests:version_3_8_test
    - //tests:version_3_9_test
    - //tests:version_default_test
tasks:
  gazelle_extension:
    name: Test the Gazelle extension
    platform: ubuntu2004
    build_targets: ["//..."]
    test_targets: ["//..."]
    working_directory: gazelle
  ubuntu:
    <<: *reusable_config
    name: Default test on Ubuntu
    platform: ubuntu2004
  debian:
    <<: *reusable_config
    name: Default test on Debian
    platform: debian11
  macos:
    <<: *reusable_config
    name: Default test on macOS
    platform: macos
  windows:
    <<: *reusable_config
    name: Default test on Windows
    platform: windows
    test_flags:
      - "--test_tag_filters=-integration-test,-fix-windows"
  rbe:
    <<: *reusable_config
    name: Test on RBE
    platform: rbe_ubuntu1604
    test_flags:
      - "--test_tag_filters=-integration-test,-acceptance-test"

  integration_test_build_file_generation_ubuntu:
    <<: *reusable_build_test_all
    name: build_file_generation integration tests on Ubuntu
    working_directory: examples/build_file_generation
    platform: ubuntu2004
  integration_test_build_file_generation_debian:
    <<: *reusable_build_test_all
    name: build_file_generation integration tests on Debian
    working_directory: examples/build_file_generation
    platform: debian11
  integration_test_build_file_generation_macos:
    <<: *reusable_build_test_all
    name: build_file_generation integration tests on macOS
    working_directory: examples/build_file_generation
    platform: macos
  integration_test_build_file_generation_windows:
    <<: *reusable_build_test_all
    name: build_file_generation integration tests on Windows
    working_directory: examples/build_file_generation
    platform: windows

  integration_test_bzlmod_ubuntu:
    <<: *reusable_build_test_all
    <<: *coverage_targets_example_bzlmod
    name: bzlmod integration tests on Ubuntu
    working_directory: examples/bzlmod
    platform: ubuntu2004
  integration_test_bzlmod_debian:
    <<: *reusable_build_test_all
    <<: *coverage_targets_example_bzlmod
    name: bzlmod integration tests on Debian
    working_directory: examples/bzlmod
    platform: debian11
  integration_test_bzlmod_macos:
    <<: *reusable_build_test_all
    <<: *coverage_targets_example_bzlmod
    name: bzlmod integration tests on macOS
    working_directory: examples/bzlmod
    platform: macos
  integration_test_bzlmod_windows:
    <<: *reusable_build_test_all
    # coverage is not supported on Windows
    name: bzlmod integration tests on Windows
    working_directory: examples/bzlmod
    platform: windows

  integration_test_multi_python_versions_ubuntu:
    <<: *reusable_build_test_all
    <<: *coverage_targets_example_multi_python
    name: multi_python_versions integration tests on Ubuntu
    working_directory: examples/multi_python_versions
    platform: ubuntu2004
  integration_test_multi_python_versions_debian:
    <<: *reusable_build_test_all
    <<: *coverage_targets_example_multi_python
    name: multi_python_versions integration tests on Debian
    working_directory: examples/multi_python_versions
    platform: debian11
  integration_test_multi_python_versions_macos:
    <<: *reusable_build_test_all
    <<: *coverage_targets_example_multi_python
    name: multi_python_versions integration tests on macOS
    working_directory: examples/multi_python_versions
    platform: macos
  integration_test_multi_python_versions_windows:
    <<: *reusable_build_test_all
    # coverage is not supported on Windows
    name: multi_python_versions integration tests on Windows
    working_directory: examples/multi_python_versions
    platform: windows

  integration_test_pip_install_ubuntu:
    <<: *reusable_build_test_all
    name: pip_install integration tests on Ubuntu
    working_directory: examples/pip_install
    platform: ubuntu2004
  integration_test_pip_install_debian:
    <<: *reusable_build_test_all
    name: pip_install integration tests on Debian
    working_directory: examples/pip_install
    platform: debian11
  integration_test_pip_install_macos:
    <<: *reusable_build_test_all
    name: pip_install integration tests on macOS
    working_directory: examples/pip_install
    platform: macos
  integration_test_pip_install_windows:
    <<: *reusable_build_test_all
    name: pip_install integration tests on Windows
    working_directory: examples/pip_install
    platform: windows

  integration_test_pip_parse_ubuntu:
    <<: *reusable_build_test_all
    name: pip_parse integration tests on Ubuntu
    working_directory: examples/pip_parse
    platform: ubuntu2004
  integration_test_pip_parse_debian:
    <<: *reusable_build_test_all
    name: pip_parse integration tests on Debian
    working_directory: examples/pip_parse
    platform: debian11
  integration_test_pip_parse_macos:
    <<: *reusable_build_test_all
    name: pip_parse integration tests on macOS
    working_directory: examples/pip_parse
    platform: macos
  integration_test_pip_parse_windows:
    <<: *reusable_build_test_all
    name: pip_parse integration tests on Windows
    working_directory: examples/pip_parse
    platform: windows

  integration_test_pip_parse_vendored_ubuntu:
    <<: *reusable_build_test_all
    name: pip_parse_vendored integration tests on Ubuntu
    working_directory: examples/pip_parse_vendored
    platform: ubuntu2004
  integration_test_pip_parse_vendored_debian:
    <<: *reusable_build_test_all
    name: pip_parse_vendored integration tests on Debian
    working_directory: examples/pip_parse_vendored
    platform: debian11
  integration_test_pip_parse_vendored_macos:
    <<: *reusable_build_test_all
    name: pip_parse_vendored integration tests on macOS
    working_directory: examples/pip_parse_vendored
    platform: macos
  # We don't run pip_parse_vendored under Windows as the file checked in is
  # generated from a repository rule containing OS-specific rendered paths.

  integration_test_py_proto_library_ubuntu:
    <<: *reusable_build_test_all
    name: py_proto_library integration tests on Ubuntu
    working_directory: examples/py_proto_library
    platform: ubuntu2004
  integration_test_py_proto_library_debian:
    <<: *reusable_build_test_all
    name: py_proto_library integration tests on Debian
    working_directory: examples/py_proto_library
    platform: debian11
  integration_test_py_proto_library_macos:
    <<: *reusable_build_test_all
    name: py_proto_library integration tests on macOS
    working_directory: examples/py_proto_library
    platform: macos
  integration_test_py_proto_library_windows:
    <<: *reusable_build_test_all
    name: py_proto_library integration tests on Windows
    working_directory: examples/py_proto_library
    platform: windows

  # Check the same using bzlmod as well
  integration_test_py_proto_library_bzlmod_ubuntu:
    <<: *reusable_build_test_all
    <<: *common_bzlmod_flags
    name: py_proto_library bzlmod integration tests on Ubuntu
    working_directory: examples/py_proto_library
    platform: ubuntu2004
  integration_test_py_proto_library_bzlmod_debian:
    <<: *reusable_build_test_all
    <<: *common_bzlmod_flags
    name: py_proto_library bzlmod integration tests on Debian
    working_directory: examples/py_proto_library
    platform: debian11
  integration_test_py_proto_library_bzlmod_macos:
    <<: *reusable_build_test_all
    <<: *common_bzlmod_flags
    name: py_proto_library bzlmod integration tests on macOS
    working_directory: examples/py_proto_library
    platform: macos
  integration_test_py_proto_library_bzlmod_windows:
    <<: *reusable_build_test_all
    <<: *common_bzlmod_flags
    name: py_proto_library bzlmod integration tests on Windows
    working_directory: examples/py_proto_library
    platform: windows

  integration_test_pip_repository_annotations_ubuntu:
    <<: *reusable_build_test_all
    name: pip_repository_annotations integration tests on Ubuntu
    working_directory: examples/pip_repository_annotations
    platform: ubuntu2004
  integration_test_pip_repository_annotations_debian:
    <<: *reusable_build_test_all
    name: pip_repository_annotations integration tests on Debian
    working_directory: examples/pip_repository_annotations
    platform: debian11
  integration_test_pip_repository_annotations_macos:
    <<: *reusable_build_test_all
    name: pip_repository_annotations integration tests on macOS
    working_directory: examples/pip_repository_annotations
    platform: macos
  integration_test_pip_repository_annotations_windows:
    <<: *reusable_build_test_all
    name: pip_repository_annotations integration tests on Windows
    working_directory: examples/pip_repository_annotations
    platform: windows

  integration_test_compile_pip_requirements_ubuntu:
    <<: *reusable_build_test_all
    name: compile_pip_requirements integration tests on Ubuntu
    working_directory: tests/compile_pip_requirements
    platform: ubuntu2004
    shell_commands:
    # Make a change to the locked requirements and then assert that //:requirements.update does the
    # right thing.
    - "echo '' > requirements_lock.txt"
    - "! git diff --exit-code"
    - "bazel run //:requirements.update"
    - "git diff --exit-code"
  integration_test_compile_pip_requirements_debian:
    <<: *reusable_build_test_all
    name: compile_pip_requirements integration tests on Debian
    working_directory: tests/compile_pip_requirements
    platform: debian11
    shell_commands:
    # Make a change to the locked requirements and then assert that //:requirements.update does the
    # right thing.
    - "echo '' > requirements_lock.txt"
    - "! git diff --exit-code"
    - "bazel run //:requirements.update"
    - "git diff --exit-code"
  integration_test_compile_pip_requirements_macos:
    <<: *reusable_build_test_all
    name: compile_pip_requirements integration tests on macOS
    working_directory: tests/compile_pip_requirements
    platform: macos
    shell_commands:
    # Make a change to the locked requirements and then assert that //:requirements.update does the
    # right thing.
    - "echo '' > requirements_lock.txt"
    - "! git diff --exit-code"
    - "bazel run //:requirements.update"
    - "git diff --exit-code"
  integration_test_compile_pip_requirements_windows:
    <<: *reusable_build_test_all
    name: compile_pip_requirements integration tests on Windows
    working_directory: tests/compile_pip_requirements
    platform: windows
    shell_commands:
    # Make a change to the locked requirements and then assert that //:requirements.update does the
    # right thing.
    - "echo '' > requirements_lock.txt"
    - "! git diff --exit-code"
    - "bazel run //:requirements.update"
    - "git diff --exit-code"

  integration_test_pip_repository_entry_points_ubuntu:
    <<: *reusable_build_test_all
    name: pip_repository_entry_points integration tests on Ubuntu
    working_directory: tests/pip_repository_entry_points
    platform: ubuntu2004
  integration_test_pip_repository_entry_points_debian:
    <<: *reusable_build_test_all
    name: pip_repository_entry_points integration tests on Debian
    working_directory: tests/pip_repository_entry_points
    platform: debian11
  integration_test_pip_repository_entry_points_macos:
    <<: *reusable_build_test_all
    name: pip_repository_entry_points integration tests on macOS
    working_directory: tests/pip_repository_entry_points
    platform: macos
  integration_test_pip_repository_entry_points_windows:
    <<: *reusable_build_test_all
    name: pip_repository_entry_points integration tests on Windows
    working_directory: tests/pip_repository_entry_points
    platform: windows

  integration_test_ignore_root_user_error_ubuntu:
    <<: *reusable_build_test_all
    name: ignore_root_user_error integration tests on Ubuntu
    working_directory: tests/ignore_root_user_error
    platform: ubuntu2004
  integration_test_ignore_root_user_error_debian:
    <<: *reusable_build_test_all
    name: ignore_root_user_error integration tests on Debian
    working_directory: tests/ignore_root_user_error
    platform: debian11
  integration_test_ignore_root_user_error_macos:
    <<: *reusable_build_test_all
    name: ignore_root_user_error integration tests on macOS
    working_directory: tests/ignore_root_user_error
    platform: macos
  integration_test_ignore_root_user_error_windows:
    <<: *reusable_build_test_all
    name: ignore_root_user_error integration tests on Windows
    working_directory: tests/ignore_root_user_error
    platform: windows
