blob: 20c1f50a5b11d7ff496a9db8322852c9380c4256 [file] [log] [blame]
VERSION 0.7
build:
ARG RELEASE
FROM ../cloud-archive-base+image --RELEASE=${RELEASE}
DO ../+APT_INSTALL --PACKAGES "\
build-essential \
curl \
git \
libldap2-dev \
libpcre3-dev \
libsasl2-dev \
libssl-dev \
lsb-release \
openssh-client \
python3 \
python3-dev \
python3-pip \
python3-venv"
RUN --mount type=cache,target=/root/.cache \
python3 -m venv --upgrade --system-site-packages /var/lib/openstack
ENV UWSGI_PROFILE_OVERRIDE=ssl=true
RUN --mount type=cache,target=/root/.cache \
mkdir -p /wheels && \
/var/lib/openstack/bin/pip3 wheel --wheel-dir /wheels uwsgi
COPY ${RELEASE}/upper-constraints.txt /upper-constraints.txt
ARG PROJECT
ARG PROJECT_REF
ARG PROJECT_REPO=https://opendev.org/openstack/${PROJECT}
GIT CLONE --branch ${PROJECT_REF} ${PROJECT_REPO} /src
RUN \
cd /src && \
git fetch --unshallow
ARG EXTRAS=""
ARG PIP_PACKAGES=""
RUN --mount=type=cache,target=/root/.cache \
/var/lib/openstack/bin/pip3 install \
--constraint /upper-constraints.txt \
--find-links /wheels/ \
pymysql \
python-memcached \
cryptography \
uwsgi \
/src${EXTRAS} \
${PIP_PACKAGES}
SAVE ARTIFACT /var/lib/openstack venv
image:
ARG RELEASE
FROM ../cloud-archive-base+image --RELEASE=${RELEASE}
ARG PROJECT
ARG PROJECT_REF
ARG PIP_PACKAGES
DO ../+CREATE_PROJECT_USER --PROJECT=${PROJECT}
ENV PATH=/var/lib/openstack/bin:$PATH
COPY \
(+build/venv --RELEASE=${RELEASE} --PROJECT=${PROJECT} --PROJECT_REF=${PROJECT_REF} --PIP_PACKAGES=${PIP_PACKAGES}) \
/var/lib/openstack
LABEL org.opencontainers.image.source=https://github.com/vexxhost/atmosphere