Skip to content

Commit 9528806

Browse files
authored
fix: compile_pip_requirements test from external repositories (#1124)
Previously when running the compile_pip_requirements test from an external repository the test failed. This was due to the fact that paths in the annotations of the lock file contained paths from the external repository. Another problem was that the requirement files could not be located.
1 parent c5f24dd commit 9528806

File tree

22 files changed

+170
-53
lines changed

22 files changed

+170
-53
lines changed

.bazelci/presubmit.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -509,3 +509,41 @@ tasks:
509509
name: ignore_root_user_error integration tests on Windows
510510
working_directory: tests/ignore_root_user_error
511511
platform: windows
512+
513+
integration_compile_pip_requirements_test_from_external_repo_ubuntu_min:
514+
<<: *minimum_supported_version
515+
name: compile_pip_requirements test from external repo on Ubuntu using minimum supported Bazel version
516+
working_directory: tests/compile_pip_requirements_test_from_external_workspace
517+
platform: ubuntu2004
518+
shell_commands:
519+
# Assert that @external_repository//:requirements_test does the right thing.
520+
- "bazel test @external_repository//..."
521+
integration_compile_pip_requirements_test_from_external_repo_ubuntu:
522+
name: compile_pip_requirements test from external repo on Ubuntu
523+
working_directory: tests/compile_pip_requirements_test_from_external_workspace
524+
platform: ubuntu2004
525+
shell_commands:
526+
# Assert that @external_repository//:requirements_test does the right thing.
527+
- "bazel test @external_repository//..."
528+
integration_compile_pip_requirements_test_from_external_repo_debian:
529+
name: compile_pip_requirements test from external repo on Debian
530+
working_directory: tests/compile_pip_requirements_test_from_external_workspace
531+
platform: debian11
532+
shell_commands:
533+
# Assert that @external_repository//:requirements_test does the right thing.
534+
- "bazel test @external_repository//..."
535+
integration_compile_pip_requirements_test_from_external_repo_macos:
536+
name: compile_pip_requirements test from external repo on macOS
537+
working_directory: tests/compile_pip_requirements_test_from_external_workspace
538+
platform: macos
539+
shell_commands:
540+
# Assert that @external_repository//:requirements_test does the right thing.
541+
- "bazel test @external_repository//..."
542+
integration_compile_pip_requirements_test_from_external_repo_windows:
543+
name: compile_pip_requirements test from external repo on Windows
544+
working_directory: tests/compile_pip_requirements_test_from_external_workspace
545+
platform: windows
546+
shell_commands:
547+
# Assert that @external_repository//:requirements_test does the right thing.
548+
- "bazel test @external_repository//..."
549+

examples/build_file_generation/gazelle_python.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,4 +115,4 @@ manifest:
115115
pip_repository:
116116
name: pip
117117
use_pip_repository_aliases: true
118-
integrity: 85f073e37e31339508aaaf5e0d5472adae5148fd5f054e9cc586343c026660e1
118+
integrity: 030d6d99b56c32d6577e616b617260d0a93588af791269162e43391a5a4fa576

examples/build_file_generation/requirements_lock.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ click==8.1.3 \
1111
flask==2.2.2 \
1212
--hash=sha256:642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b \
1313
--hash=sha256:b9c46cc36662a7949f34b52d8ec7bb59c0d74ba08ba6cb9ce9adc1d8676d9526
14-
# via -r ./requirements.in
14+
# via -r requirements.in
1515
importlib-metadata==5.2.0 \
1616
--hash=sha256:0eafa39ba42bf225fc00e67f701d71f85aead9f878569caf13c3724f704b970f \
1717
--hash=sha256:404d48d62bba0b7a77ff9d405efd91501bef2e67ff4ace0bed40a0cf28c3c7cd

examples/build_file_generation/requirements_windows.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ colorama==0.4.6 \
1515
flask==2.2.2 \
1616
--hash=sha256:642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b \
1717
--hash=sha256:b9c46cc36662a7949f34b52d8ec7bb59c0d74ba08ba6cb9ce9adc1d8676d9526
18-
# via -r ./requirements.in
18+
# via -r requirements.in
1919
importlib-metadata==5.2.0 \
2020
--hash=sha256:0eafa39ba42bf225fc00e67f701d71f85aead9f878569caf13c3724f704b970f \
2121
--hash=sha256:404d48d62bba0b7a77ff9d405efd91501bef2e67ff4ace0bed40a0cf28c3c7cd

examples/bzlmod/requirements_lock.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,12 @@ platformdirs==2.6.0 \
6464
pylint==2.15.9 \
6565
--hash=sha256:18783cca3cfee5b83c6c5d10b3cdb66c6594520ffae61890858fe8d932e1c6b4 \
6666
--hash=sha256:349c8cd36aede4d50a0754a8c0218b43323d13d5d88f4b2952ddfe3e169681eb
67-
# via -r ./requirements.in
67+
# via -r requirements.in
6868
python-dateutil==2.8.2 \
6969
--hash=sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86 \
7070
--hash=sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9
7171
# via
72-
# -r ./requirements.in
72+
# -r requirements.in
7373
# s3cmd
7474
python-magic==0.4.27 \
7575
--hash=sha256:c1ba14b08e4a5f5c31a302b7721239695b2f0f058d125bd5ce1ee36b9d9d3c3b \
@@ -120,11 +120,11 @@ pyyaml==6.0 \
120120
requests==2.25.1 \
121121
--hash=sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804 \
122122
--hash=sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e
123-
# via -r ./requirements.in
123+
# via -r requirements.in
124124
s3cmd==2.1.0 \
125125
--hash=sha256:49cd23d516b17974b22b611a95ce4d93fe326feaa07320bd1d234fed68cbccfa \
126126
--hash=sha256:966b0a494a916fc3b4324de38f089c86c70ee90e8e1cae6d59102103a4c0cc03
127-
# via -r ./requirements.in
127+
# via -r requirements.in
128128
setuptools==65.6.3 \
129129
--hash=sha256:57f6f22bde4e042978bcd50176fdb381d7c21a9efa4041202288d3737a0c6a54 \
130130
--hash=sha256:a7620757bf984b58deaf32fc8a4577a9bbc0850cf92c20e1ce41c38c19e5fb75
@@ -136,7 +136,7 @@ six==1.16.0 \
136136
tabulate==0.9.0 \
137137
--hash=sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c \
138138
--hash=sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f
139-
# via -r ./requirements.in
139+
# via -r requirements.in
140140
tomli==2.0.1 \
141141
--hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \
142142
--hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f
@@ -224,4 +224,4 @@ wrapt==1.14.1 \
224224
yamllint==1.28.0 \
225225
--hash=sha256:89bb5b5ac33b1ade059743cf227de73daa34d5e5a474b06a5e17fc16583b0cf2 \
226226
--hash=sha256:9e3d8ddd16d0583214c5fdffe806c9344086721f107435f68bad990e5a88826b
227-
# via -r ./requirements.in
227+
# via -r requirements.in

examples/bzlmod/requirements_windows.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,12 @@ platformdirs==2.6.0 \
6868
pylint==2.15.9 \
6969
--hash=sha256:18783cca3cfee5b83c6c5d10b3cdb66c6594520ffae61890858fe8d932e1c6b4 \
7070
--hash=sha256:349c8cd36aede4d50a0754a8c0218b43323d13d5d88f4b2952ddfe3e169681eb
71-
# via -r ./requirements.in
71+
# via -r requirements.in
7272
python-dateutil==2.8.2 \
7373
--hash=sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86 \
7474
--hash=sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9
7575
# via
76-
# -r ./requirements.in
76+
# -r requirements.in
7777
# s3cmd
7878
python-magic==0.4.27 \
7979
--hash=sha256:c1ba14b08e4a5f5c31a302b7721239695b2f0f058d125bd5ce1ee36b9d9d3c3b \
@@ -124,11 +124,11 @@ pyyaml==6.0 \
124124
requests==2.25.1 \
125125
--hash=sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804 \
126126
--hash=sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e
127-
# via -r ./requirements.in
127+
# via -r requirements.in
128128
s3cmd==2.1.0 \
129129
--hash=sha256:49cd23d516b17974b22b611a95ce4d93fe326feaa07320bd1d234fed68cbccfa \
130130
--hash=sha256:966b0a494a916fc3b4324de38f089c86c70ee90e8e1cae6d59102103a4c0cc03
131-
# via -r ./requirements.in
131+
# via -r requirements.in
132132
setuptools==65.6.3 \
133133
--hash=sha256:57f6f22bde4e042978bcd50176fdb381d7c21a9efa4041202288d3737a0c6a54 \
134134
--hash=sha256:a7620757bf984b58deaf32fc8a4577a9bbc0850cf92c20e1ce41c38c19e5fb75
@@ -140,7 +140,7 @@ six==1.16.0 \
140140
tabulate==0.9.0 \
141141
--hash=sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c \
142142
--hash=sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f
143-
# via -r ./requirements.in
143+
# via -r requirements.in
144144
tomli==2.0.1 \
145145
--hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \
146146
--hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f
@@ -228,4 +228,4 @@ wrapt==1.14.1 \
228228
yamllint==1.28.0 \
229229
--hash=sha256:89bb5b5ac33b1ade059743cf227de73daa34d5e5a474b06a5e17fc16583b0cf2 \
230230
--hash=sha256:9e3d8ddd16d0583214c5fdffe806c9344086721f107435f68bad990e5a88826b
231-
# via -r ./requirements.in
231+
# via -r requirements.in

examples/pip_install/requirements.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
boto3==1.14.63 \
88
--hash=sha256:25c716b7c01d4664027afc6a6418a06459e311a610c7fd39a030a1ced1b72ce4 \
99
--hash=sha256:37158c37a151eab5b9080968305621a40168171fda9584d50a309ceb4e5e6964
10-
# via -r ./requirements.in
10+
# via -r requirements.in
1111
botocore==1.17.63 \
1212
--hash=sha256:40f13f6c9c29c307a9dc5982739e537ddce55b29787b90c3447b507e3283bcd6 \
1313
--hash=sha256:aa88eafc6295132f4bc606f1df32b3248e0fa611724c0a216aceda767948ac75
@@ -84,7 +84,7 @@ pyyaml==6.0 \
8484
s3cmd==2.1.0 \
8585
--hash=sha256:49cd23d516b17974b22b611a95ce4d93fe326feaa07320bd1d234fed68cbccfa \
8686
--hash=sha256:966b0a494a916fc3b4324de38f089c86c70ee90e8e1cae6d59102103a4c0cc03
87-
# via -r ./requirements.in
87+
# via -r requirements.in
8888
s3transfer==0.3.7 \
8989
--hash=sha256:35627b86af8ff97e7ac27975fe0a98a312814b46c6333d8a6b889627bcd80994 \
9090
--hash=sha256:efa5bd92a897b6a8d5c1383828dca3d52d0790e0756d49740563a3fb6ed03246
@@ -100,11 +100,11 @@ six==1.16.0 \
100100
tree-sitter==0.20.0 ; sys_platform != "win32" \
101101
--hash=sha256:1940f64be1e8c9c3c0e34a2258f1e4c324207534d5b1eefc5ab2960a9d98f668 \
102102
--hash=sha256:51a609a7c1bd9d9e75d92ee128c12c7852ae70a482900fbbccf3d13a79e0378c
103-
# via -r ./requirements.in
103+
# via -r requirements.in
104104
urllib3==1.25.11 \
105105
--hash=sha256:8d7eaa5a82a1cac232164990f04874c594c9453ec55eef02eab885aa02fc17a2 \
106106
--hash=sha256:f5321fbe4bf3fefa0efd0bfe7fb14e90909eb62a48ccda331726b4319897dd5e
107107
# via botocore
108108
yamllint==1.26.3 \
109109
--hash=sha256:3934dcde484374596d6b52d8db412929a169f6d9e52e20f9ade5bf3523d9b96e
110-
# via -r ./requirements.in
110+
# via -r requirements.in

examples/pip_install/requirements_windows.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
boto3==1.14.63 \
88
--hash=sha256:25c716b7c01d4664027afc6a6418a06459e311a610c7fd39a030a1ced1b72ce4 \
99
--hash=sha256:37158c37a151eab5b9080968305621a40168171fda9584d50a309ceb4e5e6964
10-
# via -r ./requirements.in
10+
# via -r requirements.in
1111
botocore==1.17.63 \
1212
--hash=sha256:40f13f6c9c29c307a9dc5982739e537ddce55b29787b90c3447b507e3283bcd6 \
1313
--hash=sha256:aa88eafc6295132f4bc606f1df32b3248e0fa611724c0a216aceda767948ac75
@@ -84,7 +84,7 @@ pyyaml==6.0 \
8484
s3cmd==2.1.0 \
8585
--hash=sha256:49cd23d516b17974b22b611a95ce4d93fe326feaa07320bd1d234fed68cbccfa \
8686
--hash=sha256:966b0a494a916fc3b4324de38f089c86c70ee90e8e1cae6d59102103a4c0cc03
87-
# via -r ./requirements.in
87+
# via -r requirements.in
8888
s3transfer==0.3.7 \
8989
--hash=sha256:35627b86af8ff97e7ac27975fe0a98a312814b46c6333d8a6b889627bcd80994 \
9090
--hash=sha256:efa5bd92a897b6a8d5c1383828dca3d52d0790e0756d49740563a3fb6ed03246
@@ -103,4 +103,4 @@ urllib3==1.25.11 \
103103
# via botocore
104104
yamllint==1.26.3 \
105105
--hash=sha256:3934dcde484374596d6b52d8db412929a169f6d9e52e20f9ade5bf3523d9b96e
106-
# via -r ./requirements.in
106+
# via -r requirements.in

examples/pip_parse/requirements_lock.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,11 @@ pyyaml==6.0 \
7373
requests==2.25.1 \
7474
--hash=sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804 \
7575
--hash=sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e
76-
# via -r ./requirements.in
76+
# via -r requirements.in
7777
s3cmd==2.1.0 \
7878
--hash=sha256:49cd23d516b17974b22b611a95ce4d93fe326feaa07320bd1d234fed68cbccfa \
7979
--hash=sha256:966b0a494a916fc3b4324de38f089c86c70ee90e8e1cae6d59102103a4c0cc03
80-
# via -r ./requirements.in
80+
# via -r requirements.in
8181
setuptools==65.6.3 \
8282
--hash=sha256:57f6f22bde4e042978bcd50176fdb381d7c21a9efa4041202288d3737a0c6a54 \
8383
--hash=sha256:a7620757bf984b58deaf32fc8a4577a9bbc0850cf92c20e1ce41c38c19e5fb75
@@ -92,4 +92,4 @@ urllib3==1.26.13 \
9292
# via requests
9393
yamllint==1.26.3 \
9494
--hash=sha256:3934dcde484374596d6b52d8db412929a169f6d9e52e20f9ade5bf3523d9b96e
95-
# via -r ./requirements.in
95+
# via -r requirements.in

examples/pip_parse_vendored/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ idna==3.4 \
1919
requests==2.28.1 \
2020
--hash=sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983 \
2121
--hash=sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349
22-
# via -r ./requirements.in
22+
# via -r requirements.in
2323
urllib3==1.26.13 \
2424
--hash=sha256:47cc05d99aaa09c9e72ed5809b60e7ba354e64b59c9c173ac3018642d8bb41fc \
2525
--hash=sha256:c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8

examples/pip_repository_annotations/requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ idna==3.4 \
2121
requests[security]==2.28.1 \
2222
--hash=sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983 \
2323
--hash=sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349
24-
# via -r ./requirements.in
24+
# via -r requirements.in
2525
urllib3==1.26.13 \
2626
--hash=sha256:47cc05d99aaa09c9e72ed5809b60e7ba354e64b59c9c173ac3018642d8bb41fc \
2727
--hash=sha256:c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8
2828
# via requests
2929
wheel==0.38.4 \
3030
--hash=sha256:965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac \
3131
--hash=sha256:b60533f3f5d530e971d6737ca6d58681ee434818fab630c83a734bb10c083ce8
32-
# via -r ./requirements.in
32+
# via -r requirements.in

python/pip_install/private/test/requirements_parser_tests.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,11 +177,11 @@ pyyaml==6.0 \
177177
requests==2.25.1 \
178178
--hash=sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804 \
179179
--hash=sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e
180-
# via -r ./requirements.in
180+
# via -r requirements.in
181181
s3cmd==2.1.0 \
182182
--hash=sha256:49cd23d516b17974b22b611a95ce4d93fe326feaa07320bd1d234fed68cbccfa \
183183
--hash=sha256:966b0a494a916fc3b4324de38f089c86c70ee90e8e1cae6d59102103a4c0cc03
184-
# via -r ./requirements.in
184+
# via -r requirements.in
185185
six==1.16.0 \
186186
--hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \
187187
--hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254
@@ -192,7 +192,7 @@ urllib3==1.26.7 \
192192
# via requests
193193
yamllint==1.26.3 \
194194
--hash=sha256:3934dcde484374596d6b52d8db412929a169f6d9e52e20f9ade5bf3523d9b96e
195-
# via -r ./requirements.in
195+
# via -r requirements.in
196196
197197
# The following packages are considered to be unsafe in a requirements file:
198198
setuptools==59.6.0 \

python/pip_install/requirements.bzl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def compile_pip_requirements(
7575
# where it appears, which is to say, in @rules_python
7676
pip_compile = Label("//python/pip_install/tools/dependency_resolver:dependency_resolver.py")
7777

78-
loc = "$(rootpath {})"
78+
loc = "$(rlocationpath {})"
7979

8080
args = [
8181
loc.format(requirements_in),
@@ -99,6 +99,7 @@ def compile_pip_requirements(
9999
requirement("importlib_metadata"),
100100
requirement("zipp"),
101101
requirement("more_itertools"),
102+
Label("//python/runfiles:runfiles"),
102103
] + extra_deps
103104

104105
tags = tags or []

0 commit comments

Comments
 (0)