Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

compile_pip_requirements on Windows (GitHub workers) fails; bug is probably in the runfiles library

Aperta
#3,614 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
github-actions, python

Direzione di ricerca

Inizia da python/runfiles/runfiles.py, in particolare CurrentRepository e Rlocation, poi esamina private/pypi/dependency_resolver/dependency_resolver.py e riproduci il failure dell’esempio Windows collegato. Il lavoro è completato quando compile_pip_requirements ha esito positivo sui worker Windows di GitHub quando la root di runfiles e il chiamante si trovano su unità diverse, con coverage per questo caso.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

🐞 bug report

Affected Rule

The issue is caused by the rule: compile_pip_requirements (but probably an issue in the runfiles library)

Is this a regression?

Yes, the previous version in which this bug was not present was: 1.7.0

Description

On the GitHub workers on MS-Windows, compile_pip_requirements rules fail with an error such as

  File "C:\Users\RUNNER~1\AppData\Local\Temp\Bazel.runfiles_flx90ick\runfiles\rules_python+\python\runfiles\runfiles.py", line 306, in Rlocation
    source_repo = self.CurrentRepository(frame=2)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RUNNER~1\AppData\Local\Temp\Bazel.runfiles_flx90ick\runfiles\rules_python+\python\runfiles\runfiles.py", line 384, in CurrentRepository
    caller_runfiles_path = os.path.relpath(caller_path, self._python_runfiles_root)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen ntpath>", line 777, in relpath
ValueError: path is on mount 'C:', start on mount 'D:'

🔬 Minimal Reproduction

https://github.com/phst/rules_python-bug-runfiles-windows

See e.g. the action logs at https://github.com/phst/rules_python-bug-runfiles-windows/actions/runs/22157518229

🔥 Exception or Error


==================== Test output for //:requirements.test:
Traceback (most recent call last):
  File "C:\Users\RUNNER~1\AppData\Local\Temp\Bazel.runfiles_flx90ick\runfiles\_main\_requirements.test_stage2_bootstrap.py", line 499, in 
    main()
  File "C:\Users\RUNNER~1\AppData\Local\Temp\Bazel.runfiles_flx90ick\runfiles\_main\_requirements.test_stage2_bootstrap.py", line 493, in main
    _run_py_path(main_filename, args=sys.argv[1:])
  File "C:\Users\RUNNER~1\AppData\Local\Temp\Bazel.runfiles_flx90ick\runfiles\_main\_requirements.test_stage2_bootstrap.py", line 287, in _run_py_path
    runpy.run_path(main_filename, run_name="__main__")
  File "", line 291, in run_path
  File "", line 98, in _run_module_code
  File "", line 88, in _run_code
  File "C:\Users\RUNNER~1\AppData\Local\Temp\Bazel.runfiles_flx90ick\runfiles\rules_python+\python\private\pypi\dependency_resolver\dependency_resolver.py", line 270, in 
    main()
  File "C:\Users\RUNNER~1\AppData\Local\Temp\Bazel.runfiles_flx90ick\runfiles\rules_python++config+pypi__click\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RUNNER~1\AppData\Local\Temp\Bazel.runfiles_flx90ick\runfiles\rules_python++config+pypi__click\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "C:\Users\RUNNER~1\AppData\Local\Temp\Bazel.runfiles_flx90ick\runfiles\rules_python++config+pypi__click\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RUNNER~1\AppData\Local\Temp\Bazel.runfiles_flx90ick\runfiles\rules_python++config+pypi__click\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RUNNER~1\AppData\Local\Temp\Bazel.runfiles_flx90ick\runfiles\rules_python+\python\private\pypi\dependency_resolver\dependency_resolver.py", line 111, in main
    resolved_srcs = [_locate(bazel_runfiles, src) for src in srcs]
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RUNNER~1\AppData\Local\Temp\Bazel.runfiles_flx90ick\runfiles\rules_python+\python\private\pypi\dependency_resolver\dependency_resolver.py", line 111, in 
    resolved_srcs = [_locate(bazel_runfiles, src) for src in srcs]
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RUNNER~1\AppData\Local\Temp\Bazel.runfiles_flx90ick\runfiles\rules_python+\python\private\pypi\dependency_resolver\dependency_resolver.py", line 82, in _locate
    return bazel_runfiles.Rlocation(file)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RUNNER~1\AppData\Local\Temp\Bazel.runfiles_flx90ick\runfiles\rules_python+\python\runfiles\runfiles.py", line 306, in Rlocation
    source_repo = self.CurrentRepository(frame=2)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RUNNER~1\AppData\Local\Temp\Bazel.runfiles_flx90ick\runfiles\rules_python+\python\runfiles\runfiles.py", line 384, in CurrentRepository
    caller_runfiles_path = os.path.relpath(caller_path, self._python_runfiles_root)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "", line 777, in relpath
ValueError: path is on mount 'C:', start on mount 'D:'
================================================================================

🌍 Your Environment

Operating System:

  
Windows
  

Output of bazel version:

  
Bazelisk version: 1.28.1
INFO: Invocation ID: 0c29aa33-c4d6-490c-ae50-a131af7e76a6
Build label: 9.0.0
Build target: @@//src/main/java/com/google/devtools/build/lib/bazel:BazelServer
Build time: Tue Jan 20 18:20:43 2026 (1768933243)
Build timestamp: 1768933243
Build timestamp as int: 1768933243

  

Rules_python version:

  
1.8.4
  

Anything else relevant?

See https://github.com/bazel-contrib/rules_python/pull/3086#issuecomment-3765803662 for the initial report.
Locally rolling back https://github.com/bazel-contrib/rules_python/commit/a506d774dd60eedf6fce94dcccd2c233553b06d4 fixes the issue.
Back-porting the fix to https://github.com/bazel-contrib/rules_python/issues/3579 locally does not fix the issue.

Lingua principale
Starlark
Stelle
690
Fork
722
Merge medio
1g 55m
PR unite (30g)
38

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di bazel-contrib/rules_python

Tutte le issue di bazel-contrib/rules_python

Issue simili

Altre issue su Build System

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.