[extensions-web] ci: Rework again to use buildah



commit da1834d4dc223dfca3eeac8a387a52538ce1569c
Author: Bartłomiej Piotrowski <bpiotrowski gnome org>
Date:   Tue Jul 21 08:24:20 2020 +0200

    ci: Rework again to use buildah

 .gitlab-ci.yml              | 29 ++++++++++++++--------
 build.sh                    | 60 ---------------------------------------------
 openshift/docker/Dockerfile | 58 +++++++++++++++++++++++++++++++++++++++++--
 3 files changed, 75 insertions(+), 72 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 74e6621..4d4d314 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,12 +1,21 @@
 test:
-  stage: build
-  image: python:3.6-stretch
+  image: 'registry.fedoraproject.org/fedora:30'
+  stage: test
+  variables:
+    STORAGE_DRIVER: 'vfs'
+    BUILDAH_FORMAT: 'docker'
+    BUILDAH_ISOLATION: 'chroot'
   script:
-    - ./build.sh
-    - pip install -r requirements.txt
-    - pip install -r requirements.ego.txt
-    - EGO_SECRET_KEY=- python manage.py compilemessages
-    - EGO_SECRET_KEY=. EGO_DEBUG=1 python manage.py test
-    - pip install safety 
-    - safety check -r requirements.txt 
-    - safety check -r requirements.ego.txt
+    - dnf install -y buildah podman runc
+    - sed -i '/^mountopt =.*/d' /etc/containers/storage.conf
+    - |
+      cat >> /etc/containers/libpod.conf << END
+      cgroup_manager = "cgroupfs"
+      events_logger = "file"
+      END
+
+    - buildah bud -f openshift/docker/Dockerfile -t extensions-web .
+    - CONTAINER=$(buildah from extensions-web)
+    - buildah config --env EGO_SECRET_KEY=. --env EGO_DEBUG=1 $CONTAINER
+    - buildah run $CONTAINER python manage.py test
+    - buildah run $CONTAINER bash -c 'pip install safety && safety check -r requirements.txt && safety check 
-r requirements.ego.txt'
diff --git a/openshift/docker/Dockerfile b/openshift/docker/Dockerfile
index 276b1cf..18648b8 100644
--- a/openshift/docker/Dockerfile
+++ b/openshift/docker/Dockerfile
@@ -6,8 +6,62 @@ ENV PYTHONUNBUFFERED=1 \
        XAPIAN_VERSION=1.4.11 \
        GPG_KEY=08E2400FF7FE8FEDE3ACB52818147B073BAD2B07
 
-ADD build.sh /build.sh
-RUN /build.sh && rm -f /build.sh
+RUN set -ex \
+       && apt-get update \
+       && apt-get install --no-install-recommends --no-install-suggests -y \
+               gettext \
+       && rm -r /var/lib/apt/lists/* \
+       && wget -O xapian-core.tar.xz 
"https://oligarchy.co.uk/xapian/$XAPIAN_VERSION/xapian-core-$XAPIAN_VERSION.tar.xz"; \
+       && wget -O xapian-core.tar.xz.asc 
"https://oligarchy.co.uk/xapian/$XAPIAN_VERSION/xapian-core-$XAPIAN_VERSION.tar.xz.asc"; \
+       && wget -O xapian-bindings.tar.xz 
"https://oligarchy.co.uk/xapian/$XAPIAN_VERSION/xapian-bindings-$XAPIAN_VERSION.tar.xz"; \
+       && wget -O xapian-bindings.tar.xz.asc 
"https://oligarchy.co.uk/xapian/$XAPIAN_VERSION/xapian-bindings-$XAPIAN_VERSION.tar.xz.asc"; \
+       && export GNUPGHOME="$(mktemp -d)" \
+       && \
+       { \
+       found=''; \
+       for server in \
+               ha.pool.sks-keyservers.net \
+               hkp://keyserver.ubuntu.com:80 \
+               hkp://p80.pool.sks-keyservers.net:80 \
+               pgp.mit.edu \
+       ; do \
+               echo "Fetching GPG key $GPG_KEY from $server"; \
+               gpg --batch --keyserver $server --recv-keys "$GPG_KEY" && found=yes && break; \
+       done; \
+       test -z "$found" && { echo >&2 "error: failed to fetch GPG key $GPG_KEY" && exit 1; } || true; \
+       } \
+       && gpg --batch --verify xapian-core.tar.xz.asc xapian-core.tar.xz \
+       && gpg --batch --verify xapian-bindings.tar.xz.asc xapian-bindings.tar.xz \
+       && { command -v gpgconf > /dev/null && gpgconf --kill all || :; } \
+       && rm -r "$GNUPGHOME" xapian-core.tar.xz.asc xapian-bindings.tar.xz.asc \
+       && mkdir -p /usr/src/xapian-core \
+       && mkdir -p /usr/src/xapian-bindings \
+       && tar -xJC /usr/src/xapian-core --strip-components=1 -f xapian-core.tar.xz \
+       && rm xapian-core.tar.xz \
+       && tar -xJC /usr/src/xapian-bindings --strip-components=1 -f xapian-bindings.tar.xz \
+       && rm xapian-bindings.tar.xz \
+       && cd /usr/src/xapian-core \
+       && ./configure \
+       && make -j "$(nproc)" \
+       && make install \
+       && ldconfig \
+       && rm -r /usr/src/xapian-core \
+       && cd /usr/src/xapian-bindings \
+       && pip install Sphinx\<2.0.0 \
+       && ./configure \
+               --with-python3 \
+       && make -j "$(nproc)" \
+       && make install \
+       && pip freeze > /tmp/pip.txt \
+       && pip uninstall -y -r /tmp/pip.txt \
+       && rm /tmp/pip.txt \
+       && find /usr/local -depth \
+               \( \
+                       \( -type d -a \( -name test -o -name tests \) \) \
+                       -o \
+                       \( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \
+               \) -exec rm -r '{}' + \
+       && rm -r /usr/src/xapian-bindings
 
 RUN set -ex \
        && mkdir -p /extensions-web/app \


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]