blob: 21cd0d81974329e96320020648bcccc3de906dc1 [file] [log] [blame]
Mohammed Naser7060df82023-12-29 15:12:17 -05001VERSION 0.7
2
3APT_INSTALL:
4 COMMAND
Mohammed Naseraa48ddb2023-12-30 00:11:22 -05005 ARG PACKAGES
Mohammed Naser7060df82023-12-29 15:12:17 -05006 RUN \
7 apt-get update && \
Mohammed Naseraa48ddb2023-12-30 00:11:22 -05008 apt-get install --no-install-recommends -y ${PACKAGES} && \
Mohammed Naser7060df82023-12-29 15:12:17 -05009 apt-get clean && \
10 rm -rf /var/lib/apt/lists/*
Mohammed Naseraa48ddb2023-12-30 00:11:22 -050011
Mohammed Naser19d63122024-01-08 17:10:05 -050012DNF_INSTALL:
13 COMMAND
14 ARG PACKAGES
15 RUN \
16 dnf -y install \
17 ${PACKAGES} \
18 --setopt=install_weak_deps=False \
19 --setopt=tsflags=nodocs && \
20 dnf -y clean all && \
21 rm -rf /var/cache/dnf
22
Mohammed Naseraa48ddb2023-12-30 00:11:22 -050023CREATE_PROJECT_USER:
24 COMMAND
25 ARG PROJECT
26 RUN \
27 groupadd -g 42424 ${PROJECT} && \
28 useradd -u 42424 -g 42424 -M -d /var/lib/${PROJECT} -s /usr/sbin/nologin -c "${PROJECT} User" ${PROJECT} && \
29 mkdir -p /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT} && \
30 chown -Rv ${PROJECT}:${PROJECT} /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT}
Mohammed Naserc6392302024-01-04 00:43:02 -050031
Mohammed Naser403c0422024-01-16 14:36:28 -050032fetch-gerrit-patch:
33 FROM ./base+image
34 DO +APT_INSTALL --PACKAGES "ca-certificates curl git jq"
35 ARG --required IMAGE
36 ARG PROJECT=${IMAGE}
37 ARG --required CHANGE
38 ARG PROJECT_REF=master
39 DO ./openstack-service+GIT_CHECKOUT \
40 --PROJECT=${PROJECT} \
41 --PROJECT_REF=${PROJECT_REF}
42 ARG REF=$(curl "https://review.opendev.org/changes/?q=${CHANGE}&o=CURRENT_REVISION" | tail -1 | jq -r '.[0].revisions[].ref')
43 COPY ${IMAGE}/patches/${PROJECT} /patches
44 RUN \
45 git fetch https://review.opendev.org/openstack/${PROJECT} ${REF} && \
46 git format-patch -1 --output-directory /gerrit FETCH_HEAD
47 ARG PATCH_ID=$(ls -1 /patches | wc -l | xargs printf "%04d")
48 RUN \
49 cp /gerrit/0001-* \
50 /patches/${PATCH_ID}-$(basename /gerrit/*.patch | sed 's/0001-//')
51 SAVE ARTIFACT /patches AS LOCAL ${IMAGE}/patches/${PROJECT}