diff options
-rw-r--r-- | .gitlab-ci.yml | 20 | ||||
-rw-r--r-- | docker/biboumi-test/alpine/Dockerfile | 10 | ||||
-rw-r--r-- | docker/biboumi-test/alpine/Dockerfile.base | 51 |
3 files changed, 80 insertions, 1 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 586665a..bd60509 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,7 +6,6 @@ stages: before_script: - uname -a - - locale - whoami - mkdir -p build/ - cd build/ @@ -51,12 +50,21 @@ variables: <<: *basic_build image: docker.louiz.org/biboumi-test-debian:latest +.template:alpine_build: &alpine_build + variables: + SYSTEMD: "-DWITHOUT_SYSTEMD=1" + <<: *basic_build + image: docker.louiz.org/biboumi-test-alpine:latest + build:fedora: <<: *fedora_build build:debian: <<: *debian_build +build:alpine: + <<: *alpine_build + build:1: variables: BOTAN: "-DWITHOUT_BOTAN=1" @@ -135,6 +143,16 @@ test:without_udns: dependencies: - build:7 +test:alpine: + image: docker.louiz.org/biboumi-test-alpine:latest + stage: test + tags: + - docker + script: + - make e2e + dependencies: + - build:alpine + test:freebsd: only: - master@louiz/biboumi diff --git a/docker/biboumi-test/alpine/Dockerfile b/docker/biboumi-test/alpine/Dockerfile new file mode 100644 index 0000000..ab288b6 --- /dev/null +++ b/docker/biboumi-test/alpine/Dockerfile @@ -0,0 +1,10 @@ +# This Dockerfile creates a docker image suitable to run biboumi’s build and +# tests. For example, it can be used on with gitlab-ci. + +FROM docker.louiz.org/biboumi-test-alpine-base + +# Install litesql +RUN git clone git://git.louiz.org/litesql && mkdir /litesql/build && cd /litesql/build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr && make -j8 && cd /litesql/build && make install && rm -rf /litesql && ldconfig || true + +WORKDIR /home/tester +USER tester diff --git a/docker/biboumi-test/alpine/Dockerfile.base b/docker/biboumi-test/alpine/Dockerfile.base new file mode 100644 index 0000000..dffa1d1 --- /dev/null +++ b/docker/biboumi-test/alpine/Dockerfile.base @@ -0,0 +1,51 @@ +# This Dockerfile creates a docker image suitable to run biboumi’s build and +# tests. For example, it can be used on with gitlab-ci. + +FROM docker.io/alpine:latest + +ENV LC_ALL C.UTF-8 + +# Needed to build biboumi +RUN apk add --no-cache g++\ + clang\ + valgrind\ + udns-dev\ + c-ares-dev\ + sqlite-dev\ + libuuid\ + util-linux-dev\ + libgcrypt-dev\ + cmake\ + make\ + expat-dev\ + libidn-dev\ + git\ + py3-lxml\ + libtool\ + py3-pip\ + python2\ + python3-dev\ + automake\ + autoconf\ + flex\ + bison\ + libltdl\ + openssl\ + libressl-dev\ + zlib-dev\ + curl + +# Install botan +RUN git clone https://github.com/randombit/botan.git && cd botan && ./configure.py --prefix=/usr && make -j8 && make install && rm -rf /botan + +# Install slixmpp, for e2e tests +RUN git clone https://github.com/saghul/aiodns.git && cd aiodns && git checkout 7ee13f9bea25784322~ && python3 setup.py build && python3 setup.py install && git clone git://git.louiz.org/slixmpp && pip3 install pyasn1 && cd slixmpp && python3 setup.py build && python3 setup.py install + +RUN adduser tester -D -h /home/tester + +# Install charybdis, for e2e tests +RUN git clone https://github.com/charybdis-ircd/charybdis.git && cd charybdis && cd /charybdis && git checkout 4f2b9a4 && sed s/113/1113/ -i /charybdis/authd/providers/ident.c && ./autogen.sh && ./configure --prefix=/home/tester/ircd --bindir=/usr/bin && make -j8 && make install && rm -rf /charybdis + +RUN chown -R tester:tester /home/tester/ircd + +RUN yes "" | openssl req -nodes -x509 -newkey rsa:4096 -keyout /home/tester/ircd/etc/ssl.key -out /home/tester/ircd/etc/ssl.pem |