[PATCH 1/2] Dockerfile: Populate a pip cache

Tom Rini trini at konsulko.com
Wed Mar 22 20:18:53 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>
---
 tools/docker/Dockerfile | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile
index bd02531be249..27205002005c 100644
--- a/tools/docker/Dockerfile
+++ b/tools/docker/Dockerfile
@@ -265,6 +265,19 @@ 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
+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
+#RUN pip download -r /tmp/pytest-requirements.txt \
+#	-r /tmp/sphinx-requirements.txt && \
+#	rm -f /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