blob: 32cab4a2fe0e3c3a3f0c7f7113034000feb9b502 [file] [log] [blame]
VERSION 0.8
APT_INSTALL:
FUNCTION
ARG PACKAGES
RUN \
apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y ${PACKAGES} && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
DNF_INSTALL:
FUNCTION
ARG PACKAGES
RUN \
dnf -y install \
${PACKAGES} \
--setopt=install_weak_deps=False \
--setopt=tsflags=nodocs && \
dnf -y clean all && \
rm -rf /var/cache/dnf
CREATE_PROJECT_USER:
FUNCTION
ARG PROJECT
ARG SHELL=/usr/sbin/nologin
RUN \
groupadd -g 42424 ${PROJECT} && \
useradd -u 42424 -g 42424 -M -d /var/lib/${PROJECT} -s ${SHELL} -c "${PROJECT} User" ${PROJECT} && \
mkdir -p /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT} && \
chown -Rv ${PROJECT}:${PROJECT} /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT}
fetch-gerrit-patch:
FROM ./base+image
DO +APT_INSTALL --PACKAGES "ca-certificates curl git jq"
ARG --required IMAGE
ARG PROJECT=${IMAGE}
ARG --required CHANGE
ARG PROJECT_REF=master
DO ./openstack-service+GIT_CHECKOUT \
--PROJECT=${PROJECT} \
--PROJECT_REF=${PROJECT_REF}
ARG REF=$(curl "https://review.opendev.org/changes/?q=${CHANGE}&o=CURRENT_REVISION" | tail -1 | jq -r '.[0].revisions[].ref')
COPY ${IMAGE}/patches/${PROJECT} /patches
RUN \
git fetch https://review.opendev.org/openstack/${PROJECT} ${REF} && \
git format-patch -1 --output-directory /gerrit FETCH_HEAD
ARG PATCH_ID=$(ls -1 /patches | wc -l | xargs printf "%04d")
RUN \
cp /gerrit/0001-* \
/patches/${PATCH_ID}-$(basename /gerrit/*.patch | sed 's/0001-//')
SAVE ARTIFACT /patches AS LOCAL ${IMAGE}/patches/${PROJECT}