summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouiz’ <louiz@louiz.org>2017-04-20 22:44:14 +0200
committerlouiz’ <louiz@louiz.org>2017-04-20 22:44:14 +0200
commit06094245e9c17d10f7df835d1f9ad1a679b1bf67 (patch)
treee766333cc3dc77bc4a49953655e60a3b361d56e9
parent69fd6cc4c3b88443ce98ae32e34909654feb1e4f (diff)
downloadbiboumi-06094245e9c17d10f7df835d1f9ad1a679b1bf67.tar.gz
biboumi-06094245e9c17d10f7df835d1f9ad1a679b1bf67.tar.bz2
biboumi-06094245e9c17d10f7df835d1f9ad1a679b1bf67.tar.xz
biboumi-06094245e9c17d10f7df835d1f9ad1a679b1bf67.zip
Add a e2e test on alpine
-rw-r--r--.gitlab-ci.yml20
-rw-r--r--docker/biboumi-test/alpine/Dockerfile10
-rw-r--r--docker/biboumi-test/alpine/Dockerfile.base51
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