Skip to content

Commit 78e948b

Browse files
authored
Merge branch 'main' into aignas.refactor.parse_requirements_evaluate_markers
2 parents 46ede8b + 4b99ec3 commit 78e948b

6 files changed

Lines changed: 60 additions & 8 deletions

File tree

.bazelci/presubmit.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ tasks:
296296
<<: *minimum_supported_version
297297
<<: *reusable_config
298298
name: "RBE: Ubuntu, minimum Bazel"
299-
platform: rbe_ubuntu2204
299+
platform: rbe_ubuntu2404
300300
build_flags:
301301
- "--experimental_repository_cache_hardlinks=false"
302302
# BazelCI sets --action_env=BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN=1,
@@ -315,7 +315,7 @@ tasks:
315315
rbe:
316316
<<: *reusable_config
317317
name: "RBE: Ubuntu"
318-
platform: rbe_ubuntu2204
318+
platform: rbe_ubuntu2404
319319
# TODO @aignas 2024-12-11: get the RBE working in CI for bazel 8.0
320320
# See https://github.com/bazelbuild/rules_python/issues/2499
321321
bazel: 8.x

CHANGELOG.md

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,10 @@ END_UNRELEASED_TEMPLATE
8080
* (pypi) Fix `importlib.metadata.files` by ensuring `RECORD` is included in
8181
installed wheel targets, except when built from sdist
8282
([#3024](https://github.com/bazel-contrib/rules_python/issues/3024)).
83+
* (windows) Fix `py_test`/`py_binary` failure when the target name contains
84+
path separators; the bootstrap stub is now declared as a sibling of the
85+
`.exe` launcher
86+
([#3789](https://github.com/bazel-contrib/rules_python/issues/3789)).
8387

8488

8589
{#v0-0-0-added}
@@ -94,13 +98,21 @@ END_UNRELEASED_TEMPLATE
9498
Fixes [#3296](https://github.com/bazel-contrib/rules_python/issues/3296).
9599
* (gazelle) Support alias_kind directive.
96100
Fixes [#3183](https://github.com/bazel-contrib/rules_python/issues/3183).
97-
* (toolchains) `3.13.12`, `3.14.3` Python toolchain from [20260325] release.
98-
* (toolchains) `3.10.20`, `3.11.15`, `3.12.13`, `3.13.13` `3.14.4`, `3.15.0a8`
99-
* Python toolchain from [20260414] release.
100101
* (pypi) `package_metadata` support, fixes
101102
[#2054](https://github.com/bazel-contrib/rules_python/issues/2054).
102103
* (coverage) Add support for python 3.14 and bump `coverage.py` to 7.10.7.
103104

105+
{#v2-0-2}
106+
## [2.0.2] - 2026-05-14
107+
108+
[2.0.2]: https://github.com/bazel-contrib/rules_python/releases/tag/2.0.2
109+
110+
{#v2-0-2-added}
111+
### Added
112+
* (toolchains) `3.13.12`, `3.14.3` Python toolchain from [20260325] release.
113+
* (toolchains) `3.10.20`, `3.11.15`, `3.12.13`, `3.13.13` `3.14.4`, `3.15.0a8`
114+
* Python toolchain from [20260414] release.
115+
104116
[20260325]: https://github.com/astral-sh/python-build-standalone/releases/tag/20260325
105117
[20260414]: https://github.com/astral-sh/python-build-standalone/releases/tag/20260414
106118

@@ -230,6 +242,17 @@ Other changes:
230242
* (wheel) Add support for `add_path_prefix` argument in `py_wheel` which can be
231243
used to prepend a prefix to the files in the wheel.
232244

245+
{#v1-9-1}
246+
## [1.9.1] - 2026-05-14
247+
248+
[1.9.1]: https://github.com/bazel-contrib/rules_python/releases/tag/1.9.1
249+
250+
{#v1-9-1-added}
251+
### Added
252+
* (toolchains) `3.13.12`, `3.14.3` Python toolchain from [20260325] release.
253+
* (toolchains) `3.10.20`, `3.11.15`, `3.12.13`, `3.13.13` `3.14.4`, `3.15.0a8`
254+
* Python toolchain from [20260414] release.
255+
233256
{#v1-9-0}
234257
## [1.9.0] - 2026-02-21
235258

MODULE.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ bazel_dep(name = "bazel_features", version = "1.21.0")
88
bazel_dep(name = "bazel_skylib", version = "1.8.2")
99
bazel_dep(name = "package_metadata", version = "0.0.7")
1010
bazel_dep(name = "platforms", version = "0.0.11")
11-
bazel_dep(name = "rules_cc", version = "0.1.5")
11+
bazel_dep(name = "rules_cc", version = "0.2.17")
1212

1313
# Those are loaded only when using py_proto_library
1414
# Use py_proto_library directly from protobuf repository

python/private/internal_dev_deps.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def _internal_dev_deps_impl(mctx):
2626
# otherwise refer to RBE docs.
2727
rbe_preconfig(
2828
name = "buildkite_config",
29-
toolchain = "ubuntu2204",
29+
toolchain = "ubuntu2404",
3030
)
3131
runtime_env_repo(name = "rules_python_runtime_env_tc_info")
3232

python/private/py_executable.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ WARNING: Target: {}
424424

425425
# On Windows, the main executable has an "exe" extension, so
426426
# here we re-use the un-extensioned name for the bootstrap output.
427-
bootstrap_output = ctx.actions.declare_file(base_executable_name)
427+
bootstrap_output = ctx.actions.declare_file(base_executable_name, sibling = executable)
428428

429429
# The launcher looks for the non-zip executable next to
430430
# itself, so add it to the default outputs.

tests/base_rules/py_executable_base_tests.bzl

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -496,6 +496,35 @@ def _test_py_runtime_info_provided_impl(env, target):
496496

497497
_tests.append(_test_py_runtime_info_provided)
498498

499+
def _test_windows_target_with_path_separators(name, config):
500+
rt_util.helper_target(
501+
config.rule,
502+
name = name + "/nested_subject",
503+
srcs = ["main.py"],
504+
main = "main.py",
505+
)
506+
analysis_test(
507+
name = name,
508+
impl = _test_windows_target_with_path_separators_impl,
509+
target = name + "/nested_subject",
510+
config_settings = {
511+
"//command_line_option:cpu": "windows_x86_64",
512+
"//command_line_option:crosstool_top": CROSSTOOL_TOP,
513+
"//command_line_option:extra_execution_platforms": [platform_targets.WINDOWS_X86_64],
514+
"//command_line_option:extra_toolchains": [CC_TOOLCHAIN],
515+
"//command_line_option:platforms": [platform_targets.WINDOWS_X86_64],
516+
},
517+
attr_values = {},
518+
)
519+
520+
def _test_windows_target_with_path_separators_impl(env, target):
521+
target = env.expect.that_target(target)
522+
target.runfiles().contains_predicate(matching.str_endswith(
523+
target.meta.format_str("/{name}"),
524+
))
525+
526+
_tests.append(_test_windows_target_with_path_separators)
527+
499528
# =====
500529
# You were gonna add a test at the end, weren't you?
501530
# Nope. Please keep them sorted; put it in its alphabetical location.

0 commit comments

Comments
 (0)