feat: upgrade to bobcat (#887)
diff --git a/images/Earthfile b/images/Earthfile
index f5ff111..21cd0d8 100644
--- a/images/Earthfile
+++ b/images/Earthfile
@@ -29,17 +29,23 @@
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}
-APPLY_PATCHES:
- COMMAND
- COPY --if-exists patches /patches
- IF [ -d /patches ]
- RUN \
- apt-get update && \
- apt-get install -y patch && \
- for patch in /patches/*.patch; do \
- patch -d /var/lib/openstack/lib/python3.10/site-packages/ -p1 < $patch; \
- done && \
- apt-get purge -y --auto-remove patch && \
- apt-get clean && \
- rm -rf /var/lib/apt/lists/*
- END
+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}