M .gitlab-ci.yml => .gitlab-ci.yml +19 -1
@@ 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
A docker/biboumi-test/alpine/Dockerfile => docker/biboumi-test/alpine/Dockerfile +10 -0
@@ 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
A docker/biboumi-test/alpine/Dockerfile.base => docker/biboumi-test/alpine/Dockerfile.base +51 -0
@@ 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