ci: Rework again to use buildah

parent 976ab899
Pipeline #209828 passed with stage
in 10 minutes and 1 second
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'
export PYTHONUNBUFFERED=1
export XAPIAN_VERSION=1.4.11
export GPG_KEY=08E2400FF7FE8FEDE3ACB52818147B073BAD2B07
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 /usr/src/xapian-bindings
tar -xJC /usr/src/xapian-core --strip-components=1 -f xapian-core.tar.xz
tar -xJC /usr/src/xapian-bindings --strip-components=1 -f xapian-bindings.tar.xz
rm xapian-core.tar.xz xapian-bindings.tar.xz
cd /usr/src/xapian-core
./configure
make -j "$(nproc)"
make install
ldconfig
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-core /usr/src/xapian-bindings
......@@ -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 \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment