For backward compatibility we build two sets of images 1) We don't change the way how we build images using PIP. This assumes having so called requirements image that contains all the necessary wheels and then we build all other project images using these wheels from the requirements image. 2) Also we add another set of images that we build using the two stage Dockerfile. On the first stage we build venv using UV and then we just copy the venv as is to the project image. Depends-On: Id6412055f742990f08aa1befa7a41f1670414d4c Change-Id: I0726c1b7d9f9bee3097c4891248f41169fe6ac46 Signed-off-by: Vladimir Kozhukalov <kozhukalov@gmail.com>
26 lines
626 B
Docker
26 lines
626 B
Docker
ARG FROM=ubuntu:jammy
|
|
FROM ${FROM}
|
|
|
|
# APT mirror to use for package installs
|
|
ARG APT_MIRROR="https://archive.ubuntu.com/ubuntu/"
|
|
|
|
ENV PATH=/var/lib/openstack/bin:$PATH
|
|
ENV LANG=C.UTF-8
|
|
|
|
# Project metadata
|
|
ARG REQUIREMENTS_REPO=https://opendev.org/openstack/requirements.git
|
|
ARG REQUIREMENTS_REF=master
|
|
|
|
# Directory to use for source code checkouts and builds
|
|
ARG SOURCES_DIR="/tmp"
|
|
|
|
# Optional constraints for pip, setuptools, and wheel
|
|
ARG PIP_VERSION_CONSTRAINT=""
|
|
ARG SETUPTOOL_CONSTRAINT=""
|
|
ARG WHEEL_CONSTRAINT=""
|
|
|
|
COPY scripts /opt/loci/scripts
|
|
ADD bindep.txt pydep.txt /opt/loci/
|
|
|
|
RUN /opt/loci/scripts/venv_builder.sh
|