Add infrastructure for pre-compiling Python wheels
This patch makes it so `rules_python` uses our FRC971 mirror for
downloading wheels instead of reaching out to pypi.org. This also
means that `rules_python` will not build a wheel from scratch.
Instead, we now have a new script that will build wheels in as
reproducible a way as possible and then upload them to our internal
mirror.
Run with:
$ bazel run //tools/python:mirror_pip_packages --config=k8_upstream_python -- --ssh_host software
This patch does not move the entire repo to use this new setup yet. I
still need to take inventory of all the pip packages we need.
Buildkite will enforce that wheels are uploaded and available on our
mirror for all pip dependencies.
Signed-off-by: Philipp Schrader <philipp.schrader@gmail.com>
Change-Id: I12a1a29026a13211ea279b5567ed70529f0c66b5
diff --git a/tools/python/BUILD b/tools/python/BUILD
index 37101f5..1fa7a55 100644
--- a/tools/python/BUILD
+++ b/tools/python/BUILD
@@ -75,3 +75,12 @@
toolchain = ":upstream_py_runtime",
toolchain_type = "@rules_python//python:toolchain_type",
)
+
+py_binary(
+ name = "mirror_pip_packages",
+ srcs = ["mirror_pip_packages.py"],
+ deps = [
+ "@pip//pkginfo",
+ "@pip//requests",
+ ],
+)