Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: bazel-contrib/rules_python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.38.0
Choose a base ref
...
head repository: bazel-contrib/rules_python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0.39.0
Choose a head ref
  • 12 commits
  • 51 files changed
  • 3 contributors

Commits on Nov 8, 2024

  1. chore: improve the CHANGELOG for the new release (#2385)

    When making a Slack announcement I noticed that the changelog could be
    clarified.
    aignas authored Nov 8, 2024
    Configuration menu
    Copy the full SHA
    772b1cc View commit details
    Browse the repository at this point in the history
  2. chore(deps): upgrade some dependencies that will eventually be requir…

    …ed by Bazel 8 (#2383)
    
    This upgrades some module dependencies to versions that will be needed
    in order to
    support Bazel 8. More upgrades will be necessary, but these are some
    easy ones
    that don't cause compatibility issues.
    
    
    * skylib 1.7.1
    * (dev) rules_shell 0.3.0
    * (dev) rules_bazel_integration_test 0.26.1
    
    
    Work towards #2378
    rickeylev authored Nov 8, 2024
    Configuration menu
    Copy the full SHA
    7010148 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2024

  1. feat(toolchain): support freethreaded toolchains (#2372)

    Before this PR freethreaded toolchains were not possible to be used,
    this adds the minimum plumbing to get the things working. Coverage
    support is also added.
    
    Whilst at it:
    - Add plumbing to print checksums only for a particular python version.
    - Bump the remaining toolchain versions that used to use the 20241008
    release
    - Pass around the loaded platform list so that we are only defining
    toolchains for the platforms that we have loaded the hermetic toolchain
    for.
    
    Tested:
    ```
    $ bazel run --//python/config_settings:python_version=3.13.0 --//python/config_settings:py_freethreaded="yes" //python/private:current_interpreter_executable
    ...
    Python 3.13.0 experimental free-threading build (main, Oct 16 2024, 03:26:14) [Clang 18.1.8 ] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    ```
    
    Closes #2129.
    Work towards #2386.
    aignas authored Nov 11, 2024
    Configuration menu
    Copy the full SHA
    2af0020 View commit details
    Browse the repository at this point in the history
  2. chore: change the parse_all_requirements_files default value (#2389)

    With this PR we are changing the defaults in the upcoming `0.39`
    version, and
    if all goes well, the release after that will be `1.0`.
    
    Work towards #1361
    aignas authored Nov 11, 2024
    Configuration menu
    Copy the full SHA
    daed352 View commit details
    Browse the repository at this point in the history
  3. feat: add attrs/fields for the runtime's ABI flags (#2390)

    This adds attributes and fields for storing the runtimes ABI flags
    value, i.e. `sys.abiflags`.
    
    For freethreaded interpreters, the abi flags contain `t`, which is used
    creating e.g.
    virtualenvs.
    
    The attribute can be directly specified, or if it's not, will be
    computed based on the
    `--py_freethreaded` flag.
    rickeylev authored Nov 11, 2024
    Configuration menu
    Copy the full SHA
    4e61031 View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2024

  1. deps: updates for bazel 8 compatibility (#2379)

    Various changes to support Bazel 8. An important note is dependencies
    have forced
    us to change the versions of Bazel we support.
    
    Summary of changes:
    * rules_cc 0.0.14: Releases after 0.0.9 have some Bazel 8 fixes, but
    also broke
      some things. Things seemed to have settled by 0.0.14.
    * protobuf 29.0-rc1: Technically 28.0 works, however:
      1. 29.0-rc1 is coming via a transitive dependency anyways, and
    2. In protobuf 28.0, compile warnings are treated as errors, which our
    Debian CI
         respects (and thus fails), while other platforms ignore.
    * stardoc 0.7.1: Fixes an issue with Bazel 8 and stardoc using empty
    globs.
    * Bazel 7.4 is now the minimum supported Bazel version. This
    requirements comes via
      dependencies.
    * Drop Bazel 6 bzlmod support. This requirement comes via dependencies.
    * Add a presubmit job for `last_rc` Bazel (currently the 8.x RC).
    * Use a local patch so Gazelle works with Bazel 8. This can be removed
    once bazel-contrib/bazel-gazelle#1959 is fixed
    and released.
    * Fix a `$(rpathlocation)` call in bootstrap tests.
    * Update bzl_library deps after upgrading deps: the set of targets that
    provide
      bzl sources changed in rules_cc and protobuf in these newer versions.
    
    Sorting this all out and finding the right combination of dependency
    versions was
    fairly involved. The details of that are in
    #2378.
    
    Work towards #2378,
    #2387
    rickeylev authored Nov 12, 2024
    Configuration menu
    Copy the full SHA
    4864d63 View commit details
    Browse the repository at this point in the history
  2. chore: remove references to @rules_cc//cc:defs.bzl (#2293)

    Referring to @rules_cc//cc:defs.bzl, refers to
    @protobuf//bazel:cc_proto_library.bzl, which fetches protobuf
    repository.
    Referring directly to what's needed limits the fetches just to rules_cc.
    
    Fix reference to bzl libs in rules_cc that are needed for docs
    generation.
    
    This requires rules_cc 0.0.13 or higher.
    
    Work towards #2387,
    #2378
    
    ---------
    
    Co-authored-by: Richard Levasseur <rlevasseur@google.com>
    comius and rickeylev authored Nov 12, 2024
    Configuration menu
    Copy the full SHA
    576e6dc View commit details
    Browse the repository at this point in the history
  3. fix: Bazel version check (#2393)

    Version check needs to work on Bazel@HEAD as well and version later than
    Bazel 8.
    comius authored Nov 12, 2024
    Configuration menu
    Copy the full SHA
    91e5751 View commit details
    Browse the repository at this point in the history
  4. tests: use $(rootpaths) to get executable files paths for Bazel 8 com…

    …patibility (#2395)
    
    In Bazel 8, the singular `$(rootpath)` expansions require that the
    target expands to a
    single file. The py rules have an unfortunate legacy behavior where
    their default outputs
    are the executable and the main py file, thus causing an error.
    
    To fix, use the plural `$(rootpaths)`, then post-process the
    space-separated string to get
    just the executable portion of it.
    
    Along the way...
    * Add tests/integration/py_cc_toolchain_registered/bazel-* symlink to
    Bazel ignore.
    This avoids an infinite symlink expansions error and performance issues
    when those
      symlinks exist.
    
    Work towards #2378
    
    ---------
    
    Co-authored-by: Ivo List <ilist@google.com>
    rickeylev and comius authored Nov 12, 2024
    Configuration menu
    Copy the full SHA
    1b2714e View commit details
    Browse the repository at this point in the history
  5. fix: skip precompiling if using Bazel-builtin PyRuntimeInfo (#2394)

    When the `@bazel_tools//python/tools:python_autodetecting` toolchain is
    used, it returns
    the Bazel-builtin PyRuntimeInfo provider. Because this provider doesn't
    support the
    additional fields needed for precompiling (`pyc_tag`, among others), it
    would result in
    an attribute error.
    
    To fix, detect the absence of the `pyc_tag` attribute and return early,
    as is done when
    the pyc_tag field is empty.
    
    Fixes #2364
    rickeylev authored Nov 12, 2024
    Configuration menu
    Copy the full SHA
    2f6ca17 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2024

  1. chore: remove Thulio from BCR app configs (#2397)

    Just tidy up the config. I've put my name in there, but I am happy to
    make the
    BCR app use someone else's name as well. @oprypin, @rickeylev, what do
    you
    think?
    aignas authored Nov 13, 2024
    Configuration menu
    Copy the full SHA
    497945d View commit details
    Browse the repository at this point in the history
  2. chore: update changelog for 0.39.0 (#2398)

    Update changelog for 0.39.0 release
    
    Along the away, stash a template for the "Unreleased" text in a comment
    for easier copy/pasting
    in the future.
    rickeylev authored Nov 13, 2024
    Configuration menu
    Copy the full SHA
    0759322 View commit details
    Browse the repository at this point in the history
Loading