From 99c28fba0772a77c33005b86cd1234e2cd02cb5a Mon Sep 17 00:00:00 2001 From: "Lumberbot (aka Jack)" <39504233+meeseeksmachine@users.noreply.github.com> Date: Thu, 30 May 2024 20:47:20 +0200 Subject: [PATCH] chore(backport): Use uv during Dockerfile build (#2503) * Backport: - PR https://github.com/scikit-hep/pyhf/pull/2485 - PR https://github.com/scikit-hep/pyhf/pull/2486 - parts of PR https://github.com/scikit-hep/pyhf/pull/2461 --------- Co-authored-by: Matthew Feickert --- docker/Dockerfile | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 50c2f31e95..47ff491ea6 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=python:3.11-slim-bullseye +ARG BASE_IMAGE=python:3.12-slim-bullseye # hadolint ignore=DL3006 FROM ${BASE_IMAGE} as base @@ -6,7 +6,7 @@ FROM base as builder # Set PATH to pickup virtual environment by default ENV PATH=/usr/local/venv/bin:"${PATH}" COPY . /code -# hadolint ignore=DL3003,SC2102 +# hadolint ignore=DL3003,SC2102,SC1091 RUN apt-get -qq -y update && \ apt-get -qq -y install --no-install-recommends \ git && \ @@ -14,10 +14,12 @@ RUN apt-get -qq -y update && \ apt-get -y autoremove && \ rm -rf /var/lib/apt/lists/* && \ python -m venv /usr/local/venv && \ + . /usr/local/venv/bin/activate && \ cd /code && \ - python -m pip --no-cache-dir install --upgrade pip setuptools wheel && \ - python -m pip --no-cache-dir install '.[xmlio,contrib]' && \ - python -m pip list + python -m pip --no-cache-dir install --upgrade uv && \ + uv pip install --no-cache --upgrade pip setuptools wheel && \ + uv pip install --no-cache '.[xmlio,contrib]' && \ + uv pip list FROM base @@ -59,4 +61,8 @@ ENV LANG=C.UTF-8 ENV PATH=${HOME}/.local/bin:${PATH} +# The first ever run of the CLI API incurs some overhead so do that during the +# build instead of making the user wait +RUN pyhf --version + ENTRYPOINT ["/usr/local/venv/bin/pyhf"]