blob: 32cab4a2fe0e3c3a3f0c7f7113034000feb9b502 [file] [log] [blame]
Mohammed Naser12207172024-02-05 18:49:35 -05001VERSION 0.8
Mohammed Naser7060df82023-12-29 15:12:17 -05002
3APT_INSTALL:
Mohammed Naser12207172024-02-05 18:49:35 -05004 FUNCTION
Mohammed Naseraa48ddb2023-12-30 00:11:22 -05005 ARG PACKAGES
Mohammed Naser7060df82023-12-29 15:12:17 -05006 RUN \
7 apt-get update && \
Giovanni Tirloni52f5d5d2024-02-20 13:35:29 -03008 DEBIAN_FRONTEND=noninteractive 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:
Mohammed Naser12207172024-02-05 18:49:35 -050013 FUNCTION
Mohammed Naser19d63122024-01-08 17:10:05 -050014 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:
Mohammed Naser12207172024-02-05 18:49:35 -050024 FUNCTION
Mohammed Naseraa48ddb2023-12-30 00:11:22 -050025 ARG PROJECT
Mohammed Naser7a848bc2024-01-22 21:58:11 -050026 ARG SHELL=/usr/sbin/nologin
Mohammed Naseraa48ddb2023-12-30 00:11:22 -050027 RUN \
28 groupadd -g 42424 ${PROJECT} && \
Mohammed Naser7a848bc2024-01-22 21:58:11 -050029 useradd -u 42424 -g 42424 -M -d /var/lib/${PROJECT} -s ${SHELL} -c "${PROJECT} User" ${PROJECT} && \
Mohammed Naseraa48ddb2023-12-30 00:11:22 -050030 mkdir -p /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT} && \
31 chown -Rv ${PROJECT}:${PROJECT} /etc/${PROJECT} /var/log/${PROJECT} /var/lib/${PROJECT} /var/cache/${PROJECT}
Mohammed Naserc6392302024-01-04 00:43:02 -050032
Mohammed Naser403c0422024-01-16 14:36:28 -050033fetch-gerrit-patch:
34 FROM ./base+image
35 DO +APT_INSTALL --PACKAGES "ca-certificates curl git jq"
36 ARG --required IMAGE
37 ARG PROJECT=${IMAGE}
38 ARG --required CHANGE
39 ARG PROJECT_REF=master
40 DO ./openstack-service+GIT_CHECKOUT \
41 --PROJECT=${PROJECT} \
42 --PROJECT_REF=${PROJECT_REF}
43 ARG REF=$(curl "https://review.opendev.org/changes/?q=${CHANGE}&o=CURRENT_REVISION" | tail -1 | jq -r '.[0].revisions[].ref')
44 COPY ${IMAGE}/patches/${PROJECT} /patches
45 RUN \
46 git fetch https://review.opendev.org/openstack/${PROJECT} ${REF} && \
47 git format-patch -1 --output-directory /gerrit FETCH_HEAD
48 ARG PATCH_ID=$(ls -1 /patches | wc -l | xargs printf "%04d")
49 RUN \
50 cp /gerrit/0001-* \
51 /patches/${PATCH_ID}-$(basename /gerrit/*.patch | sed 's/0001-//')
52 SAVE ARTIFACT /patches AS LOCAL ${IMAGE}/patches/${PROJECT}