Skip to content

Commit

Permalink
chore(backport): Use uv during Dockerfile build (#2503)
Browse files Browse the repository at this point in the history
* Backport:
   - PR #2485
   - PR #2486
   - parts of PR #2461

---------

Co-authored-by: Matthew Feickert <matthew.feickert@cern.ch>
  • Loading branch information
meeseeksmachine and matthewfeickert authored May 30, 2024
1 parent de3c23c commit 99c28fb
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
ARG BASE_IMAGE=python:3.11-slim-bullseye
ARG BASE_IMAGE=python:3.12-slim-bullseye
# hadolint ignore=DL3006
FROM ${BASE_IMAGE} as base

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 && \
apt-get -y autoclean && \
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

Expand Down Expand Up @@ -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"]

0 comments on commit 99c28fb

Please sign in to comment.