diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index 10282d3540..3c383497b6 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -95,534 +95,532 @@ buildifier: # PyInfo and PyRuntimeInfo symbols become documented. - "--test_tag_filters=-integration-test,-doc_check_test" tasks: -## gazelle_extension_min: -## <<: *common_workspace_flags_min_bazel -## <<: *minimum_supported_version -## name: "Gazelle: workspace, minumum supported Bazel version" -## platform: ubuntu2004 -## build_targets: ["//..."] -## test_targets: ["//..."] -## working_directory: gazelle -## gazelle_extension_workspace: -## <<: *common_workspace_flags -## name: "Gazelle: workspace" -## platform: ubuntu2004 -## build_targets: ["//..."] -## test_targets: ["//..."] -## working_directory: gazelle -## gazelle_extension: -## name: "Gazelle: default settings" -## platform: ubuntu2004 -## build_targets: ["//..."] -## test_targets: ["//..."] -## working_directory: gazelle -## -## ubuntu_min_workspace: -## <<: *minimum_supported_version -## <<: *reusable_config -## <<: *common_workspace_flags_min_bazel -## name: "Default: Ubuntu, workspace, minimum Bazel" -## platform: ubuntu2004 -## -## ubuntu_min_bzlmod: -## <<: *minimum_supported_version -## <<: *reusable_config -## name: "Default: Ubuntu, bzlmod, minimum Bazel" -## platform: ubuntu2004 -## bazel: 7.x -## ubuntu: -## <<: *reusable_config -## name: "Default: Ubuntu" -## platform: ubuntu2004 -## ubuntu_upcoming: -## <<: *reusable_config -## name: "Default: Ubuntu, upcoming Bazel" -## platform: ubuntu2004 -## bazel: last_rc -## pystar_ubuntu_workspace: -## <<: *reusable_config -## <<: *pystar_base -## name: "Default test: Ubuntu, Pystar, workspace" -## platform: ubuntu2004 -## pystar_ubuntu_bzlmod: -## <<: *reusable_config -## <<: *pystar_base -## name: "Default test: Ubuntu, Pystar, bzlmod" -## platform: ubuntu2004 -## pystar_mac_workspace: -## <<: *reusable_config -## <<: *common_workspace_flags -## <<: *pystar_base -## name: "Default test: Mac, Pystar, workspace" -## platform: macos -## pystar_windows_workspace: -## <<: *reusable_config -## <<: *pystar_base -## name: "Default test: Windows, Pystar, workspace" -## platform: windows -## -## debian: -## <<: *reusable_config -## name: "Default: Debian" -## platform: debian11 -## macos: -## <<: *reusable_config -## name: "Default: MacOS" -## platform: macos -## windows: -## <<: *reusable_config -## name: "Default: Windows" -## platform: windows -## test_flags: -## - "--test_tag_filters=-integration-test,-fix-windows" -## rbe_min: -## <<: *minimum_supported_version -## <<: *reusable_config -## name: "RBE: Ubuntu, minimum Bazel" -## platform: rbe_ubuntu2004 -## bazel: 7.x -## build_flags: -## # BazelCI sets --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1, -## # which prevents cc toolchain autodetection from working correctly -## # on Bazel 5.4 and earlier. To workaround this, manually specify the -## # build kite cc toolchain. -## - "--extra_toolchains=@buildkite_config//config:cc-toolchain" -## - "--build_tag_filters=-docs" -## test_flags: -## - "--test_tag_filters=-integration-test,-acceptance-test,-docs" -## # BazelCI sets --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1, -## # which prevents cc toolchain autodetection from working correctly -## # on Bazel 5.4 and earlier. To workaround this, manually specify the -## # build kite cc toolchain. -## - "--extra_toolchains=@buildkite_config//config:cc-toolchain" -## rbe: -## <<: *reusable_config -## name: "RBE: Ubuntu" -## platform: rbe_ubuntu2004 -## test_flags: -## - "--test_tag_filters=-integration-test,-acceptance-test" -## - "--extra_toolchains=@buildkite_config//config:cc-toolchain" -## -## integration_test_build_file_generation_ubuntu_minimum_supported_workspace: -## <<: *minimum_supported_version -## <<: *reusable_build_test_all -## <<: *common_workspace_flags_min_bazel -## name: "examples/build_file_generation: Ubuntu, workspace, minimum Bazel" -## working_directory: examples/build_file_generation -## platform: ubuntu2004 -## integration_test_build_file_generation_ubuntu_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## name: "examples/build_file_generation: Ubuntu, workspace" -## working_directory: examples/build_file_generation -## platform: ubuntu2004 -## integration_test_build_file_generation_debian_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## name: "examples/build_file_generation: Debian, workspace" -## working_directory: examples/build_file_generation -## platform: debian11 -## integration_test_build_file_generation_macos_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## name: "examples/build_file_generation: macOS, workspace" -## working_directory: examples/build_file_generation -## platform: macos -## integration_test_build_file_generation_windows_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## name: "examples/build_file_generation: Windows, workspace" -## working_directory: examples/build_file_generation -## platform: windows -## -## integration_test_bzlmod_ubuntu_min: -## <<: *minimum_supported_version -## <<: *reusable_build_test_all -## coverage_targets: ["//:test"] -## name: "examples/bzlmod: Ubuntu, minimum Bazel" -## working_directory: examples/bzlmod -## platform: ubuntu2004 -## bazel: 7.x -## integration_test_bzlmod_ubuntu: -## <<: *reusable_build_test_all -## <<: *coverage_targets_example_bzlmod -## name: "examples/bzlmod: Ubuntu" -## working_directory: examples/bzlmod -## platform: ubuntu2004 -## bazel: 7.x -## integration_test_bzlmod_debian: -## <<: *reusable_build_test_all -## <<: *coverage_targets_example_bzlmod -## name: "examples/bzlmod: Debian" -## working_directory: examples/bzlmod -## platform: debian11 -## bazel: 7.x -## integration_test_bzlmod_macos: -## <<: *reusable_build_test_all -## <<: *coverage_targets_example_bzlmod -## name: "examples/bzlmod: macOS" -## working_directory: examples/bzlmod -## platform: macos -## bazel: 7.x -##### + gazelle_extension_min: + <<: *common_workspace_flags_min_bazel + <<: *minimum_supported_version + name: "Gazelle: workspace, minumum supported Bazel version" + platform: ubuntu2004 + build_targets: ["//..."] + test_targets: ["//..."] + working_directory: gazelle + gazelle_extension_workspace: + <<: *common_workspace_flags + name: "Gazelle: workspace" + platform: ubuntu2004 + build_targets: ["//..."] + test_targets: ["//..."] + working_directory: gazelle + gazelle_extension: + name: "Gazelle: default settings" + platform: ubuntu2004 + build_targets: ["//..."] + test_targets: ["//..."] + working_directory: gazelle + + ubuntu_min_workspace: + <<: *minimum_supported_version + <<: *reusable_config + <<: *common_workspace_flags_min_bazel + name: "Default: Ubuntu, workspace, minimum Bazel" + platform: ubuntu2004 + + ubuntu_min_bzlmod: + <<: *minimum_supported_version + <<: *reusable_config + name: "Default: Ubuntu, bzlmod, minimum Bazel" + platform: ubuntu2004 + bazel: 7.x + ubuntu: + <<: *reusable_config + name: "Default: Ubuntu" + platform: ubuntu2004 + ubuntu_upcoming: + <<: *reusable_config + name: "Default: Ubuntu, upcoming Bazel" + platform: ubuntu2004 + bazel: last_rc + pystar_ubuntu_workspace: + <<: *reusable_config + <<: *pystar_base + name: "Default test: Ubuntu, Pystar, workspace" + platform: ubuntu2004 + pystar_ubuntu_bzlmod: + <<: *reusable_config + <<: *pystar_base + name: "Default test: Ubuntu, Pystar, bzlmod" + platform: ubuntu2004 + pystar_mac_workspace: + <<: *reusable_config + <<: *common_workspace_flags + <<: *pystar_base + name: "Default test: Mac, Pystar, workspace" + platform: macos + pystar_windows_workspace: + <<: *reusable_config + <<: *pystar_base + name: "Default test: Windows, Pystar, workspace" + platform: windows + + debian: + <<: *reusable_config + name: "Default: Debian" + platform: debian11 + macos: + <<: *reusable_config + name: "Default: MacOS" + platform: macos + windows: + <<: *reusable_config + name: "Default: Windows" + platform: windows + test_flags: + - "--test_tag_filters=-integration-test,-fix-windows" + rbe_min: + <<: *minimum_supported_version + <<: *reusable_config + name: "RBE: Ubuntu, minimum Bazel" + platform: rbe_ubuntu2004 + bazel: 7.x + build_flags: + # BazelCI sets --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1, + # which prevents cc toolchain autodetection from working correctly + # on Bazel 5.4 and earlier. To workaround this, manually specify the + # build kite cc toolchain. + - "--extra_toolchains=@buildkite_config//config:cc-toolchain" + - "--build_tag_filters=-docs" + test_flags: + - "--test_tag_filters=-integration-test,-acceptance-test,-docs" + # BazelCI sets --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1, + # which prevents cc toolchain autodetection from working correctly + # on Bazel 5.4 and earlier. To workaround this, manually specify the + # build kite cc toolchain. + - "--extra_toolchains=@buildkite_config//config:cc-toolchain" + rbe: + <<: *reusable_config + name: "RBE: Ubuntu" + platform: rbe_ubuntu2004 + test_flags: + - "--test_tag_filters=-integration-test,-acceptance-test" + - "--extra_toolchains=@buildkite_config//config:cc-toolchain" + + integration_test_build_file_generation_ubuntu_minimum_supported_workspace: + <<: *minimum_supported_version + <<: *reusable_build_test_all + <<: *common_workspace_flags_min_bazel + name: "examples/build_file_generation: Ubuntu, workspace, minimum Bazel" + working_directory: examples/build_file_generation + platform: ubuntu2004 + integration_test_build_file_generation_ubuntu_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + name: "examples/build_file_generation: Ubuntu, workspace" + working_directory: examples/build_file_generation + platform: ubuntu2004 + integration_test_build_file_generation_debian_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + name: "examples/build_file_generation: Debian, workspace" + working_directory: examples/build_file_generation + platform: debian11 + integration_test_build_file_generation_macos_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + name: "examples/build_file_generation: macOS, workspace" + working_directory: examples/build_file_generation + platform: macos + integration_test_build_file_generation_windows_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + name: "examples/build_file_generation: Windows, workspace" + working_directory: examples/build_file_generation + platform: windows + + integration_test_bzlmod_ubuntu_min: + <<: *minimum_supported_version + <<: *reusable_build_test_all + coverage_targets: ["//:test"] + name: "examples/bzlmod: Ubuntu, minimum Bazel" + working_directory: examples/bzlmod + platform: ubuntu2004 + bazel: 7.x + integration_test_bzlmod_ubuntu: + <<: *reusable_build_test_all + <<: *coverage_targets_example_bzlmod + name: "examples/bzlmod: Ubuntu" + working_directory: examples/bzlmod + platform: ubuntu2004 + bazel: 7.x + integration_test_bzlmod_debian: + <<: *reusable_build_test_all + <<: *coverage_targets_example_bzlmod + name: "examples/bzlmod: Debian" + working_directory: examples/bzlmod + platform: debian11 + bazel: 7.x + integration_test_bzlmod_macos: + <<: *reusable_build_test_all + <<: *coverage_targets_example_bzlmod + name: "examples/bzlmod: macOS" + working_directory: examples/bzlmod + platform: macos + bazel: 7.x integration_test_bzlmod_windows: <<: *reusable_build_test_all # coverage is not supported on Windows name: "examples/bzlmod: Windows" working_directory: examples/bzlmod platform: windows - bazel: last_rc -## integration_test_bzlmod_ubuntu_lockfile: -## <<: *reusable_build_test_all -## <<: *coverage_targets_example_bzlmod -## name: "examples/bzlmod: Ubuntu with lockfile" -## working_directory: examples/bzlmod -## platform: ubuntu2004 -## bazel: 7.x -## shell_commands: -## # Update the lockfiles and fail if it is different. -## - "../../tools/private/update_bzlmod_lockfiles.sh" -## - "git diff --exit-code" -## integration_test_bzlmod_macos_lockfile: -## <<: *reusable_build_test_all -## <<: *coverage_targets_example_bzlmod -## name: "examples/bzlmod: macOS with lockfile" -## working_directory: examples/bzlmod -## platform: macos -## bazel: 7.x -## shell_commands: -## # Update the lockfiles and fail if it is different. -## - "../../tools/private/update_bzlmod_lockfiles.sh" -## - "git diff --exit-code" -## -## integration_test_bzlmod_generate_build_file_generation_ubuntu_min: -## <<: *minimum_supported_version -## <<: *reusable_build_test_all -## <<: *coverage_targets_example_bzlmod_build_file_generation -## name: "examples/bzlmod_build_file_generation: Ubuntu, minimum Bazel" -## working_directory: examples/bzlmod_build_file_generation -## platform: ubuntu2004 -## bazel: 7.x -## integration_test_bzlmod_generation_build_files_ubuntu: -## <<: *reusable_build_test_all -## <<: *coverage_targets_example_bzlmod_build_file_generation -## name: "examples/bzlmod_build_file_generation: Ubuntu" -## working_directory: examples/bzlmod_build_file_generation -## platform: ubuntu2004 -## integration_test_bzlmod_generation_build_files_ubuntu_run: -## <<: *reusable_build_test_all -## name: "examples/bzlmod_build_file_generation: Ubuntu, Gazelle and pip" -## working_directory: examples/bzlmod_build_file_generation -## platform: ubuntu2004 -## shell_commands: -## - "bazel run //:gazelle_python_manifest.update" -## - "bazel run //:gazelle -- update" -## integration_test_bzlmod_build_file_generation_debian: -## <<: *reusable_build_test_all -## <<: *coverage_targets_example_bzlmod_build_file_generation -## name: "examples/bzlmod_build_file_generation: Debian" -## working_directory: examples/bzlmod_build_file_generation -## platform: debian11 -## integration_test_bzlmod_build_file_generation_macos: -## <<: *reusable_build_test_all -## <<: *coverage_targets_example_bzlmod_build_file_generation -## name: "examples/bzlmod_build_file_generation: MacOS" -## working_directory: examples/bzlmod_build_file_generation -## platform: macos -## integration_test_bzlmod_build_file_generation_windows: -## <<: *reusable_build_test_all -## # coverage is not supported on Windows -## name: "examples/bzlmod_build_file_generateion: Windows" -## working_directory: examples/bzlmod_build_file_generation -## platform: windows -## -## integration_test_multi_python_versions_ubuntu_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## <<: *coverage_targets_example_multi_python -## name: "examples/multi_python_versions: Ubuntu, workspace" -## working_directory: examples/multi_python_versions -## platform: ubuntu2004 -## integration_test_multi_python_versions_debian_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## <<: *coverage_targets_example_multi_python -## name: "examples/multi_python_versions: Debian, workspace" -## working_directory: examples/multi_python_versions -## platform: debian11 -## integration_test_multi_python_versions_macos_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## <<: *coverage_targets_example_multi_python -## name: "examples/multi_python_versions: MacOS, workspace" -## working_directory: examples/multi_python_versions -## platform: macos -## integration_test_multi_python_versions_windows_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## # coverage is not supported on Windows -## name: "examples/multi_python_versions: Windows, workspace" -## working_directory: examples/multi_python_versions -## platform: windows -## -## integration_test_pip_parse_ubuntu_min_workspace: -## <<: *minimum_supported_version -## <<: *common_workspace_flags_min_bazel -## <<: *reusable_build_test_all -## name: "examples/pip_parse: Ubuntu, workspace, minimum supported Bazel version" -## working_directory: examples/pip_parse -## platform: ubuntu2004 -## integration_test_pip_parse_ubuntu_min_bzlmod: -## <<: *minimum_supported_version -## <<: *reusable_build_test_all -## name: "examples/pip_parse: Ubuntu, bzlmod, minimum supported Bazel version" -## working_directory: examples/pip_parse -## platform: ubuntu2004 -## bazel: 7.x -## integration_test_pip_parse_ubuntu: -## <<: *reusable_build_test_all -## name: "examples/pip_parse: Ubuntu" -## working_directory: examples/pip_parse -## platform: ubuntu2004 -## integration_test_pip_parse_debian: -## <<: *reusable_build_test_all -## name: "examples/pip_parse: Debian" -## working_directory: examples/pip_parse -## platform: debian11 -## integration_test_pip_parse_macos: -## <<: *reusable_build_test_all -## name: "examples/pip_parse: MacOS" -## working_directory: examples/pip_parse -## platform: macos -## integration_test_pip_parse_windows: -## <<: *reusable_build_test_all -## name: "examples/pip_parse: Windows" -## working_directory: examples/pip_parse -## platform: windows -## -## integration_test_pip_parse_vendored_ubuntu_min_workspace: -## <<: *minimum_supported_version -## <<: *common_workspace_flags_min_bazel -## <<: *reusable_build_test_all -## name: "examples/pip_parse_vendored: Ubuntu, workspace, minimum Bazel" -## working_directory: examples/pip_parse_vendored -## platform: ubuntu2004 -## integration_test_pip_parse_vendored_ubuntu_min_bzlmod: -## <<: *minimum_supported_version -## <<: *reusable_build_test_all -## name: "examples/pip_parse_vendored: Ubuntu, bzlmod, minimum Bazel" -## working_directory: examples/pip_parse_vendored -## platform: ubuntu2004 -## bazel: 7.x -## integration_test_pip_parse_vendored_ubuntu: -## <<: *reusable_build_test_all -## name: "examples/pip_parse_vendored: Ubuntu" -## working_directory: examples/pip_parse_vendored -## platform: ubuntu2004 -## integration_test_pip_parse_vendored_debian: -## <<: *reusable_build_test_all -## name: "examples/pip_parse_vendored: Debian" -## working_directory: examples/pip_parse_vendored -## platform: debian11 -## integration_test_pip_parse_vendored_macos: -## <<: *reusable_build_test_all -## name: "examples/pip_parse_vendored: 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. -## -## # The proto example is workspace-only; bzlmod functionality is covered -## # by examples/bzlmod/py_proto_library -## integration_test_py_proto_library_ubuntu_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## name: "examples/py_proto_library: Ubuntu, workspace" -## working_directory: examples/py_proto_library -## platform: ubuntu2004 -## integration_test_py_proto_library_debian_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## name: "examples/py_proto_library: Debian, workspace" -## working_directory: examples/py_proto_library -## platform: debian11 -## integration_test_py_proto_library_macos_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## name: "examples/py_proto_library: MacOS, workspace" -## working_directory: examples/py_proto_library -## platform: macos -## integration_test_py_proto_library_windows_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## name: "examples/py_proto_library: Windows, workspace" -## working_directory: examples/py_proto_library -## platform: windows -## -## integration_test_pip_repository_annotations_ubuntu_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## name: "examples/pip_repository_annotations: Ubuntu, workspace" -## working_directory: examples/pip_repository_annotations -## platform: ubuntu2004 -## integration_test_pip_repository_annotations_debian_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## name: "examples/pip_repository_annotations: Debian, workspace" -## working_directory: examples/pip_repository_annotations -## platform: debian11 -## integration_test_pip_repository_annotations_macos_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## name: "examples/pip_repository_annotations: macOS, workspace" -## working_directory: examples/pip_repository_annotations -## platform: macos -## integration_test_pip_repository_annotations_windows_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## name: "examples/pip_repository_annotations: Windows, workspace" -## working_directory: examples/pip_repository_annotations -## platform: windows -## -## integration_test_bazelinbazel_ubuntu: -## <<: *common_bazelinbazel_config -## name: "tests/integration bazel-in-bazel: Ubuntu" -## platform: ubuntu2004 -## integration_test_bazelinbazel_debian: -## <<: *common_bazelinbazel_config -## name: "tests/integration bazel-in-bazel: Debian" -## platform: debian11 -## -## integration_test_compile_pip_requirements_ubuntu: -## <<: *reusable_build_test_all -## name: "compile_pip_requirements: Ubuntu" -## working_directory: tests/integration/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" -## # Make a change to the locked requirements and then assert that //:os_specific_requirements.update does the -## # right thing. -## - "echo '' > requirements_lock_linux.txt" -## - "! git diff --exit-code" -## - "bazel run //:os_specific_requirements.update" -## - "git diff --exit-code" -## integration_test_compile_pip_requirements_debian: -## <<: *reusable_build_test_all -## name: "compile_pip_requirements: Debian" -## working_directory: tests/integration/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" -## # Make a change to the locked requirements and then assert that //:os_specific_requirements.update does the -## # right thing. -## - "echo '' > requirements_lock_linux.txt" -## - "! git diff --exit-code" -## - "bazel run //:os_specific_requirements.update" -## - "git diff --exit-code" -## integration_test_compile_pip_requirements_macos: -## <<: *reusable_build_test_all -## name: "compile_pip_requirements: MacOS" -## working_directory: tests/integration/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" -## # Make a change to the locked requirements and then assert that //:os_specific_requirements.update does the -## # right thing. -## - "echo '' > requirements_lock_darwin.txt" -## - "! git diff --exit-code" -## - "bazel run //:os_specific_requirements.update" -## - "git diff --exit-code" -## integration_test_compile_pip_requirements_windows: -## <<: *reusable_build_test_all -## name: "compile_pip_requirements: Windows" -## working_directory: tests/integration/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" -## # Make a change to the locked requirements and then assert that //:os_specific_requirements.update does the -## # right thing. -## - "echo '' > requirements_lock_windows.txt" -## - "! git diff --exit-code" -## - "bazel run //:os_specific_requirements.update" -## - "git diff --exit-code" -## -## -## integration_test_ignore_root_user_error_macos_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## name: "ignore_root_user_error: macOS, workspace" -## working_directory: tests/integration/ignore_root_user_error -## platform: macos -## integration_test_ignore_root_user_error_windows_workspace: -## <<: *reusable_build_test_all -## <<: *common_workspace_flags -## name: "ignore_root_user_error: Windows, workspace" -## working_directory: tests/integration/ignore_root_user_error -## platform: windows -## -## integration_compile_pip_requirements_test_from_external_repo_ubuntu_min_workspace: -## <<: *minimum_supported_version -## <<: *common_workspace_flags_min_bazel -## name: "compile_pip_requirements_test_from_external_repo: Ubuntu, workspace, minimum Bazel" -## working_directory: tests/integration/compile_pip_requirements_test_from_external_repo -## platform: ubuntu2004 -## shell_commands: -## # Assert that @compile_pip_requirements//:requirements_test does the right thing. -## - "bazel test @compile_pip_requirements//..." -## integration_compile_pip_requirements_test_from_external_repo_ubuntu_min_bzlmod: -## <<: *minimum_supported_version -## name: "compile_pip_requirements_test_from_external_repo: Ubuntu, bzlmod, minimum Bazel" -## working_directory: tests/integration/compile_pip_requirements_test_from_external_repo -## platform: ubuntu2004 -## bazel: 7.x -## shell_commands: -## # Assert that @compile_pip_requirements//:requirements_test does the right thing. -## - "bazel test @compile_pip_requirements//..." -## integration_compile_pip_requirements_test_from_external_repo_ubuntu: -## name: "compile_pip_requirements_test_from_external_repo: Ubuntu" -## working_directory: tests/integration/compile_pip_requirements_test_from_external_repo -## platform: ubuntu2004 -## shell_commands: -## # Assert that @compile_pip_requirements//:requirements_test does the right thing. -## - "bazel test @compile_pip_requirements//..." -## integration_compile_pip_requirements_test_from_external_repo_debian: -## name: "compile_pip_requirements_test_from_external_repo: Debian" -## working_directory: tests/integration/compile_pip_requirements_test_from_external_repo -## platform: debian11 -## shell_commands: -## # Assert that @compile_pip_requirements//:requirements_test does the right thing. -## - "bazel test @compile_pip_requirements//..." -## integration_compile_pip_requirements_test_from_external_repo_macos: -## name: "compile_pip_requirements_test_from_external_repo: macOS" -## working_directory: tests/integration/compile_pip_requirements_test_from_external_repo -## platform: macos -## shell_commands: -## # Assert that @compile_pip_requirements//:requirements_test does the right thing. -## - "bazel test @compile_pip_requirements//..." -## integration_compile_pip_requirements_test_from_external_repo_windows: -## name: "compile_pip_requirements_test_from_external_repo: Windows" -## working_directory: tests/integration/compile_pip_requirements_test_from_external_repo -## platform: windows -## shell_commands: -## # Assert that @compile_pip_requirements//:requirements_test does the right thing. -## - "bazel test @compile_pip_requirements//..." + integration_test_bzlmod_ubuntu_lockfile: + <<: *reusable_build_test_all + <<: *coverage_targets_example_bzlmod + name: "examples/bzlmod: Ubuntu with lockfile" + working_directory: examples/bzlmod + platform: ubuntu2004 + bazel: 7.x + shell_commands: + # Update the lockfiles and fail if it is different. + - "../../tools/private/update_bzlmod_lockfiles.sh" + - "git diff --exit-code" + integration_test_bzlmod_macos_lockfile: + <<: *reusable_build_test_all + <<: *coverage_targets_example_bzlmod + name: "examples/bzlmod: macOS with lockfile" + working_directory: examples/bzlmod + platform: macos + bazel: 7.x + shell_commands: + # Update the lockfiles and fail if it is different. + - "../../tools/private/update_bzlmod_lockfiles.sh" + - "git diff --exit-code" + + integration_test_bzlmod_generate_build_file_generation_ubuntu_min: + <<: *minimum_supported_version + <<: *reusable_build_test_all + <<: *coverage_targets_example_bzlmod_build_file_generation + name: "examples/bzlmod_build_file_generation: Ubuntu, minimum Bazel" + working_directory: examples/bzlmod_build_file_generation + platform: ubuntu2004 + bazel: 7.x + integration_test_bzlmod_generation_build_files_ubuntu: + <<: *reusable_build_test_all + <<: *coverage_targets_example_bzlmod_build_file_generation + name: "examples/bzlmod_build_file_generation: Ubuntu" + working_directory: examples/bzlmod_build_file_generation + platform: ubuntu2004 + integration_test_bzlmod_generation_build_files_ubuntu_run: + <<: *reusable_build_test_all + name: "examples/bzlmod_build_file_generation: Ubuntu, Gazelle and pip" + working_directory: examples/bzlmod_build_file_generation + platform: ubuntu2004 + shell_commands: + - "bazel run //:gazelle_python_manifest.update" + - "bazel run //:gazelle -- update" + integration_test_bzlmod_build_file_generation_debian: + <<: *reusable_build_test_all + <<: *coverage_targets_example_bzlmod_build_file_generation + name: "examples/bzlmod_build_file_generation: Debian" + working_directory: examples/bzlmod_build_file_generation + platform: debian11 + integration_test_bzlmod_build_file_generation_macos: + <<: *reusable_build_test_all + <<: *coverage_targets_example_bzlmod_build_file_generation + name: "examples/bzlmod_build_file_generation: MacOS" + working_directory: examples/bzlmod_build_file_generation + platform: macos + integration_test_bzlmod_build_file_generation_windows: + <<: *reusable_build_test_all + # coverage is not supported on Windows + name: "examples/bzlmod_build_file_generateion: Windows" + working_directory: examples/bzlmod_build_file_generation + platform: windows + + integration_test_multi_python_versions_ubuntu_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + <<: *coverage_targets_example_multi_python + name: "examples/multi_python_versions: Ubuntu, workspace" + working_directory: examples/multi_python_versions + platform: ubuntu2004 + integration_test_multi_python_versions_debian_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + <<: *coverage_targets_example_multi_python + name: "examples/multi_python_versions: Debian, workspace" + working_directory: examples/multi_python_versions + platform: debian11 + integration_test_multi_python_versions_macos_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + <<: *coverage_targets_example_multi_python + name: "examples/multi_python_versions: MacOS, workspace" + working_directory: examples/multi_python_versions + platform: macos + integration_test_multi_python_versions_windows_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + # coverage is not supported on Windows + name: "examples/multi_python_versions: Windows, workspace" + working_directory: examples/multi_python_versions + platform: windows + + integration_test_pip_parse_ubuntu_min_workspace: + <<: *minimum_supported_version + <<: *common_workspace_flags_min_bazel + <<: *reusable_build_test_all + name: "examples/pip_parse: Ubuntu, workspace, minimum supported Bazel version" + working_directory: examples/pip_parse + platform: ubuntu2004 + integration_test_pip_parse_ubuntu_min_bzlmod: + <<: *minimum_supported_version + <<: *reusable_build_test_all + name: "examples/pip_parse: Ubuntu, bzlmod, minimum supported Bazel version" + working_directory: examples/pip_parse + platform: ubuntu2004 + bazel: 7.x + integration_test_pip_parse_ubuntu: + <<: *reusable_build_test_all + name: "examples/pip_parse: Ubuntu" + working_directory: examples/pip_parse + platform: ubuntu2004 + integration_test_pip_parse_debian: + <<: *reusable_build_test_all + name: "examples/pip_parse: Debian" + working_directory: examples/pip_parse + platform: debian11 + integration_test_pip_parse_macos: + <<: *reusable_build_test_all + name: "examples/pip_parse: MacOS" + working_directory: examples/pip_parse + platform: macos + integration_test_pip_parse_windows: + <<: *reusable_build_test_all + name: "examples/pip_parse: Windows" + working_directory: examples/pip_parse + platform: windows + + integration_test_pip_parse_vendored_ubuntu_min_workspace: + <<: *minimum_supported_version + <<: *common_workspace_flags_min_bazel + <<: *reusable_build_test_all + name: "examples/pip_parse_vendored: Ubuntu, workspace, minimum Bazel" + working_directory: examples/pip_parse_vendored + platform: ubuntu2004 + integration_test_pip_parse_vendored_ubuntu_min_bzlmod: + <<: *minimum_supported_version + <<: *reusable_build_test_all + name: "examples/pip_parse_vendored: Ubuntu, bzlmod, minimum Bazel" + working_directory: examples/pip_parse_vendored + platform: ubuntu2004 + bazel: 7.x + integration_test_pip_parse_vendored_ubuntu: + <<: *reusable_build_test_all + name: "examples/pip_parse_vendored: Ubuntu" + working_directory: examples/pip_parse_vendored + platform: ubuntu2004 + integration_test_pip_parse_vendored_debian: + <<: *reusable_build_test_all + name: "examples/pip_parse_vendored: Debian" + working_directory: examples/pip_parse_vendored + platform: debian11 + integration_test_pip_parse_vendored_macos: + <<: *reusable_build_test_all + name: "examples/pip_parse_vendored: 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. + + # The proto example is workspace-only; bzlmod functionality is covered + # by examples/bzlmod/py_proto_library + integration_test_py_proto_library_ubuntu_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + name: "examples/py_proto_library: Ubuntu, workspace" + working_directory: examples/py_proto_library + platform: ubuntu2004 + integration_test_py_proto_library_debian_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + name: "examples/py_proto_library: Debian, workspace" + working_directory: examples/py_proto_library + platform: debian11 + integration_test_py_proto_library_macos_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + name: "examples/py_proto_library: MacOS, workspace" + working_directory: examples/py_proto_library + platform: macos + integration_test_py_proto_library_windows_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + name: "examples/py_proto_library: Windows, workspace" + working_directory: examples/py_proto_library + platform: windows + + integration_test_pip_repository_annotations_ubuntu_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + name: "examples/pip_repository_annotations: Ubuntu, workspace" + working_directory: examples/pip_repository_annotations + platform: ubuntu2004 + integration_test_pip_repository_annotations_debian_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + name: "examples/pip_repository_annotations: Debian, workspace" + working_directory: examples/pip_repository_annotations + platform: debian11 + integration_test_pip_repository_annotations_macos_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + name: "examples/pip_repository_annotations: macOS, workspace" + working_directory: examples/pip_repository_annotations + platform: macos + integration_test_pip_repository_annotations_windows_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + name: "examples/pip_repository_annotations: Windows, workspace" + working_directory: examples/pip_repository_annotations + platform: windows + + integration_test_bazelinbazel_ubuntu: + <<: *common_bazelinbazel_config + name: "tests/integration bazel-in-bazel: Ubuntu" + platform: ubuntu2004 + integration_test_bazelinbazel_debian: + <<: *common_bazelinbazel_config + name: "tests/integration bazel-in-bazel: Debian" + platform: debian11 + + integration_test_compile_pip_requirements_ubuntu: + <<: *reusable_build_test_all + name: "compile_pip_requirements: Ubuntu" + working_directory: tests/integration/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" + # Make a change to the locked requirements and then assert that //:os_specific_requirements.update does the + # right thing. + - "echo '' > requirements_lock_linux.txt" + - "! git diff --exit-code" + - "bazel run //:os_specific_requirements.update" + - "git diff --exit-code" + integration_test_compile_pip_requirements_debian: + <<: *reusable_build_test_all + name: "compile_pip_requirements: Debian" + working_directory: tests/integration/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" + # Make a change to the locked requirements and then assert that //:os_specific_requirements.update does the + # right thing. + - "echo '' > requirements_lock_linux.txt" + - "! git diff --exit-code" + - "bazel run //:os_specific_requirements.update" + - "git diff --exit-code" + integration_test_compile_pip_requirements_macos: + <<: *reusable_build_test_all + name: "compile_pip_requirements: MacOS" + working_directory: tests/integration/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" + # Make a change to the locked requirements and then assert that //:os_specific_requirements.update does the + # right thing. + - "echo '' > requirements_lock_darwin.txt" + - "! git diff --exit-code" + - "bazel run //:os_specific_requirements.update" + - "git diff --exit-code" + integration_test_compile_pip_requirements_windows: + <<: *reusable_build_test_all + name: "compile_pip_requirements: Windows" + working_directory: tests/integration/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" + # Make a change to the locked requirements and then assert that //:os_specific_requirements.update does the + # right thing. + - "echo '' > requirements_lock_windows.txt" + - "! git diff --exit-code" + - "bazel run //:os_specific_requirements.update" + - "git diff --exit-code" + + + integration_test_ignore_root_user_error_macos_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + name: "ignore_root_user_error: macOS, workspace" + working_directory: tests/integration/ignore_root_user_error + platform: macos + integration_test_ignore_root_user_error_windows_workspace: + <<: *reusable_build_test_all + <<: *common_workspace_flags + name: "ignore_root_user_error: Windows, workspace" + working_directory: tests/integration/ignore_root_user_error + platform: windows + + integration_compile_pip_requirements_test_from_external_repo_ubuntu_min_workspace: + <<: *minimum_supported_version + <<: *common_workspace_flags_min_bazel + name: "compile_pip_requirements_test_from_external_repo: Ubuntu, workspace, minimum Bazel" + working_directory: tests/integration/compile_pip_requirements_test_from_external_repo + platform: ubuntu2004 + shell_commands: + # Assert that @compile_pip_requirements//:requirements_test does the right thing. + - "bazel test @compile_pip_requirements//..." + integration_compile_pip_requirements_test_from_external_repo_ubuntu_min_bzlmod: + <<: *minimum_supported_version + name: "compile_pip_requirements_test_from_external_repo: Ubuntu, bzlmod, minimum Bazel" + working_directory: tests/integration/compile_pip_requirements_test_from_external_repo + platform: ubuntu2004 + bazel: 7.x + shell_commands: + # Assert that @compile_pip_requirements//:requirements_test does the right thing. + - "bazel test @compile_pip_requirements//..." + integration_compile_pip_requirements_test_from_external_repo_ubuntu: + name: "compile_pip_requirements_test_from_external_repo: Ubuntu" + working_directory: tests/integration/compile_pip_requirements_test_from_external_repo + platform: ubuntu2004 + shell_commands: + # Assert that @compile_pip_requirements//:requirements_test does the right thing. + - "bazel test @compile_pip_requirements//..." + integration_compile_pip_requirements_test_from_external_repo_debian: + name: "compile_pip_requirements_test_from_external_repo: Debian" + working_directory: tests/integration/compile_pip_requirements_test_from_external_repo + platform: debian11 + shell_commands: + # Assert that @compile_pip_requirements//:requirements_test does the right thing. + - "bazel test @compile_pip_requirements//..." + integration_compile_pip_requirements_test_from_external_repo_macos: + name: "compile_pip_requirements_test_from_external_repo: macOS" + working_directory: tests/integration/compile_pip_requirements_test_from_external_repo + platform: macos + shell_commands: + # Assert that @compile_pip_requirements//:requirements_test does the right thing. + - "bazel test @compile_pip_requirements//..." + integration_compile_pip_requirements_test_from_external_repo_windows: + name: "compile_pip_requirements_test_from_external_repo: Windows" + working_directory: tests/integration/compile_pip_requirements_test_from_external_repo + platform: windows + shell_commands: + # Assert that @compile_pip_requirements//:requirements_test does the right thing. + - "bazel test @compile_pip_requirements//..."