From 19e9354b60722ca4fec83f42cc6a335f009db174 Mon Sep 17 00:00:00 2001 From: Henry Borchers Date: Thu, 21 Aug 2025 11:52:53 -0500 Subject: [PATCH 1/2] ci: update missing docker dependency --- ci/docker/python/linux/jenkins/Dockerfile | 11 +++-------- ci/docker/python/linux/jenkins/apt-packages.txt | 5 +++++ 2 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 ci/docker/python/linux/jenkins/apt-packages.txt diff --git a/ci/docker/python/linux/jenkins/Dockerfile b/ci/docker/python/linux/jenkins/Dockerfile index 24d3eb384..1b4bb1810 100644 --- a/ci/docker/python/linux/jenkins/Dockerfile +++ b/ci/docker/python/linux/jenkins/Dockerfile @@ -1,11 +1,6 @@ FROM python:latest -RUN --mount=type=cache,target=/var/cache/apt \ - rm -f /etc/apt/apt.conf.d/docker-clean && \ +RUN --mount=type=bind,source=./ci/docker/python/linux/jenkins/apt-packages.txt,target=/tmp/apt-packages.txt\ + --mount=type=cache,target=/var/cache/apt \ apt-get update && \ - apt-get install -yqq --no-install-recommends \ - libdbus-1-3 \ - libegl1 \ - libgl1-mesa-glx \ - libxkbcommon-x11-0 \ - && \ + < /tmp/apt-packages.txt xargs apt-get install -yqq --no-install-recommends && \ rm -rf /var/lib/apt/lists/* diff --git a/ci/docker/python/linux/jenkins/apt-packages.txt b/ci/docker/python/linux/jenkins/apt-packages.txt new file mode 100644 index 000000000..abee527b0 --- /dev/null +++ b/ci/docker/python/linux/jenkins/apt-packages.txt @@ -0,0 +1,5 @@ +libdbus-1-3 +libegl1 +libgl1 +libglx-mesa0 +libxkbcommon-x11-0 From 8f63ca267351be18a7295b1839ff896dea11bb26 Mon Sep 17 00:00:00 2001 From: Henry Borchers Date: Thu, 21 Aug 2025 12:46:04 -0500 Subject: [PATCH 2/2] ci: cache more dep packages in docker volumes --- vars/runJenkinsPipeline.groovy | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/vars/runJenkinsPipeline.groovy b/vars/runJenkinsPipeline.groovy index 2423dad6a..8a14a9059 100644 --- a/vars/runJenkinsPipeline.groovy +++ b/vars/runJenkinsPipeline.groovy @@ -130,6 +130,7 @@ def call(){ docker{ image 'sphinxdoc/sphinx-latexpdf' label 'linux && docker && x86' + args '--mount source=python-tmp-speedwagon,target=/tmp' } } options { @@ -595,7 +596,11 @@ def call(){ { node('docker && windows'){ try{ - docker.image(env.DEFAULT_PYTHON_DOCKER_IMAGE ? env.DEFAULT_PYTHON_DOCKER_IMAGE: 'python').inside("--mount source=uv_python_install_dir,target=${env.UV_PYTHON_INSTALL_DIR}"){ + docker.image(env.DEFAULT_PYTHON_DOCKER_IMAGE ? env.DEFAULT_PYTHON_DOCKER_IMAGE: 'python').inside( + "--mount type=volume,source=uv_python_install_dir,target=${env.UV_PYTHON_INSTALL_DIR}" + + " --mount type=volume,source=pipcache,target=${env.PIP_CACHE_DIR}" + + " --mount type=volume,source=uv_cache_dir,target=${env.UV_CACHE_DIR}" + ){ checkout scm retry(3){ bat(label: 'Running Tox', @@ -766,7 +771,15 @@ def call(){ checkout scm unstash 'PYTHON_PACKAGES' if(['linux', 'windows'].contains(entry.OS) && params.containsKey("INCLUDE_${entry.OS}-${entry.ARCHITECTURE}".toUpperCase()) && params["INCLUDE_${entry.OS}-${entry.ARCHITECTURE}".toUpperCase()]){ - docker.image(env.DEFAULT_PYTHON_DOCKER_IMAGE ? env.DEFAULT_PYTHON_DOCKER_IMAGE: 'python').inside(isUnix() ? '': "--mount type=volume,source=uv_python_install_dir,target=C:\\Users\\ContainerUser\\Documents\\uvpython --mount source=msvc-runtime,target=c:\\msvc_runtime\\"){ + docker.image(env.DEFAULT_PYTHON_DOCKER_IMAGE ? env.DEFAULT_PYTHON_DOCKER_IMAGE: 'python').inside( + isUnix() ? + '--mount source=python-tmp-speedwagon,target=/tmp' + : + '--mount type=volume,source=uv_python_install_dir,target=c:\\Users\\ContainerUser\\Documents\\cache\\uvpython' + + ' --mount type=volume,source=msvc-runtime,target=c:\\msvc_runtime' + + ' --mount type=volume,source=pipcache,target=c:\\Users\\ContainerUser\\Documents\\cache\\pipcache' + + ' --mount type=volume,source=uv_cache_dir,target=c:\\Users\\ContainerUser\\Documents\\cache\\uvcache' + ){ if(isUnix()){ withEnv([ 'PIP_CACHE_DIR=/tmp/pipcache', @@ -785,10 +798,10 @@ def call(){ } } else { withEnv([ - 'PIP_CACHE_DIR=C:\\Users\\ContainerUser\\Documents\\pipcache', - 'UV_TOOL_DIR=C:\\Users\\ContainerUser\\Documents\\uvtools', - 'UV_PYTHON_INSTALL_DIR=C:\\Users\\ContainerUser\\Documents\\uvpython', - 'UV_CACHE_DIR=C:\\Users\\ContainerUser\\Documents\\uvcache', + 'PIP_CACHE_DIR=c:\\Users\\ContainerUser\\Documents\\cache\\pipcache', + 'UV_TOOL_DIR=c:\\Users\\ContainerUser\\Documents\\uvtools', + 'UV_PYTHON_INSTALL_DIR=c:\\Users\\ContainerUser\\Documents\\cache\\uvpython', + 'UV_CACHE_DIR=c:\\Users\\ContainerUser\\Documents\\cache\\uvcache', 'UV_LINK_MODE=copy' ]){ installMSVCRuntime('c:\\msvc_runtime\\')