[v2 2/2] Dockerfile: Populate a pip cache
Tom Rini
trini at konsulko.com
Thu Mar 23 19:57:58 CET 2023
Given the number of jobs in CI we have which use python and pip install
packages, we should do this once in the Dockerfile, in order to populate
the cache. We let each job continue to create and use the virtual
environments they need to facilitate making updates to these
environments easier.
Signed-off-by: Tom Rini <trini at konsulko.com>
---
Changes in v2:
- Comment on why we wget
- Drop commented out portion
---
tools/docker/Dockerfile | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile
index bd02531be249..20c2b2a9d64c 100644
--- a/tools/docker/Dockerfile
+++ b/tools/docker/Dockerfile
@@ -265,6 +265,17 @@ RUN echo uboot ALL=NOPASSWD: ALL > /etc/sudoers.d/uboot
RUN useradd -m -U uboot
USER uboot:uboot
+# Populate the cache for pip to use. Get these via wget as the
+# COPY / ADD directives don't work as we need them to.
+RUN wget -O /tmp/pytest-requirements.txt https://source.denx.de/u-boot/u-boot/-/raw/master/test/py/requirements.txt
+RUN wget -O /tmp/sphinx-requirements.txt https://source.denx.de/u-boot/u-boot/-/raw/master/doc/sphinx/requirements.txt
+RUN virtualenv -p /usr/bin/python3 /tmp/venv && \
+ . /tmp/venv/bin/activate && \
+ pip install -r /tmp/pytest-requirements.txt \
+ -r /tmp/sphinx-requirements.txt && \
+ deactivate && \
+ rm -rf /tmp/venv /tmp/pytest-requirements.txt /tmp/sphinx-requirements.txt
+
# Create the buildman config file
RUN /bin/echo -e "[toolchain]\nroot = /usr" > ~/.buildman
RUN /bin/echo -e "kernelorg = /opt/gcc-12.2.0-nolibc/*" >> ~/.buildman
--
2.34.1
More information about the U-Boot
mailing list