Skip to content

compile_pip_requirements no longer uses predictable paths #908

@vonschultz

Description

@vonschultz

🐞 bug report

Affected Rule

The issue is caused by the rule: compile_pip_requirements

Is this a regression?

Yes, the previous version in which this bug was not present was: 0.13.0. It is present in 0.15.0. I didn't explicitly check 0.14.0, but I'll actually go one step further: a git bisect says the first bad commit is b15e15f. (Ping @philsc and @f0rmiga.)

Description

As it says in python/pip_install/pip_compile.py:

We don't want fully resolved, absolute paths in the generated requirements file.
The paths could differ for every invocation. Replace them with a predictable path.

I haven't double checked that that's the right file for this bug report, but the comment describes a desirable outcome that I'm no longer seeing.

🔬 Minimal Reproduction

See https://gist.github.com/vonschultz/9e242d1612ec70b1848057cce681e037. I'm using it with bazelisk run :pip_dependencies.update.

🔥 Exception or Error

You see the problem in requirements_common_lock-txt:

    # via -r /tmp/rules_python-tests/9e242d1612ec70b1848057cce681e037/requirements_extra.in

Before b15e15f that line reads

    # via -r ./requirements_extra.in

which is the desired behavior.

🌍 Your Environment

Operating System:

Ubuntu 20.04

Output of bazel version:

  
Bazelisk version: v1.9.0
Build label: 5.3.2
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Wed Oct 19 18:22:12 2022 (1666203732)
Build timestamp: 1666203732
Build timestamp as int: 1666203732
  

Rules_python version:

0.15.0

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions