Mohammed Naser | 1220717 | 2024-02-05 18:49:35 -0500 | [diff] [blame] | 1 | VERSION 0.8 |
Mohammed Naser | 7060df8 | 2023-12-29 15:12:17 -0500 | [diff] [blame] | 2 | |
| 3 | APT_INSTALL: |
Mohammed Naser | 1220717 | 2024-02-05 18:49:35 -0500 | [diff] [blame] | 4 | FUNCTION |
Mohammed Naser | aa48ddb | 2023-12-30 00:11:22 -0500 | [diff] [blame] | 5 | ARG PACKAGES |
Mohammed Naser | 7060df8 | 2023-12-29 15:12:17 -0500 | [diff] [blame] | 6 | RUN \ |
| 7 | apt-get update && \ |
Giovanni Tirloni | 52f5d5d | 2024-02-20 13:35:29 -0300 | [diff] [blame] | 8 | DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y ${PACKAGES} && \ |
Mohammed Naser | 7060df8 | 2023-12-29 15:12:17 -0500 | [diff] [blame] | 9 | apt-get clean && \ |
| 10 | rm -rf /var/lib/apt/lists/* |
Mohammed Naser | aa48ddb | 2023-12-30 00:11:22 -0500 | [diff] [blame] | 11 | |
Mohammed Naser | 19d6312 | 2024-01-08 17:10:05 -0500 | [diff] [blame] | 12 | DNF_INSTALL: |
Mohammed Naser | 1220717 | 2024-02-05 18:49:35 -0500 | [diff] [blame] | 13 | FUNCTION |
Mohammed Naser | 19d6312 | 2024-01-08 17:10:05 -0500 | [diff] [blame] | 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 Naser | aa48ddb | 2023-12-30 00:11:22 -0500 | [diff] [blame] | 23 | CREATE_PROJECT_USER: |
Mohammed Naser | 1220717 | 2024-02-05 18:49:35 -0500 | [diff] [blame] | 24 | FUNCTION |
Mohammed Naser | aa48ddb | 2023-12-30 00:11:22 -0500 | [diff] [blame] | 25 | ARG PROJECT |
Mohammed Naser | 7a848bc | 2024-01-22 21:58:11 -0500 | [diff] [blame] | 26 | ARG SHELL=/usr/sbin/nologin |
Mohammed Naser | aa48ddb | 2023-12-30 00:11:22 -0500 | [diff] [blame] | 27 | RUN \ |
| 28 | groupadd -g 42424 ${PROJECT} && \ |
Mohammed Naser | 7a848bc | 2024-01-22 21:58:11 -0500 | [diff] [blame] | 29 | useradd -u 42424 -g 42424 -M -d /var/lib/${PROJECT} -s ${SHELL} -c "${PROJECT} User" ${PROJECT} && \ |
Mohammed Naser | aa48ddb | 2023-12-30 00:11:22 -0500 | [diff] [blame] | 30 | 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 Naser | c639230 | 2024-01-04 00:43:02 -0500 | [diff] [blame] | 32 | |
Mohammed Naser | 403c042 | 2024-01-16 14:36:28 -0500 | [diff] [blame] | 33 | fetch-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} |