summaryrefslogtreecommitdiff
path: root/docker/biboumi-test
diff options
context:
space:
mode:
Diffstat (limited to 'docker/biboumi-test')
-rw-r--r--docker/biboumi-test/debian/Dockerfile72
-rw-r--r--docker/biboumi-test/fedora/Dockerfile64
2 files changed, 136 insertions, 0 deletions
diff --git a/docker/biboumi-test/debian/Dockerfile b/docker/biboumi-test/debian/Dockerfile
new file mode 100644
index 0000000..f2a26ea
--- /dev/null
+++ b/docker/biboumi-test/debian/Dockerfile
@@ -0,0 +1,72 @@
+# 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/debian:latest
+
+RUN apt update
+
+# Needed to build biboumi
+RUN apt install -y g++
+RUN apt install -y clang
+RUN apt install -y valgrind
+RUN apt install -y libc-ares-dev
+RUN apt install -y libsqlite3-dev
+RUN apt install -y libuuid1
+RUN apt install -y cmake
+RUN apt install -y make
+RUN apt install -y libexpat1-dev
+RUN apt install -y libidn11-dev
+RUN apt install -y uuid-dev
+RUN apt install -y libsystemd-dev
+RUN apt install -y pandoc
+
+# Needed to run tests
+RUN apt install -y git
+RUN apt install -y python3-lxml
+RUN apt install -y lcov
+
+# Install botan
+RUN git clone https://github.com/randombit/botan.git
+RUN cd botan && ./configure.py --prefix=/usr && make -j8 && make install
+RUN rm -rf /botan
+
+# Install litesql
+RUN git clone git://git.louiz.org/litesql
+RUN mkdir /litesql/build && cd /litesql/build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr && make -j8
+RUN cd /litesql/build && make install
+RUN rm -rf /litesql
+
+RUN ldconfig
+
+# Install slixmpp, for e2e tests
+RUN apt install -y python3-pip
+RUN git clone git://git.louiz.org/slixmpp
+RUN pip3 install pyasn1
+RUN apt install -y python3-dev
+RUN cd slixmpp && python3 setup.py build && python3 setup.py install
+
+RUN useradd tester -m
+
+# Install charybdis, for e2e tests
+RUN apt install -y automake autoconf flex bison libltdl-dev openssl
+RUN apt install -y libtool
+RUN git clone https://github.com/charybdis-ircd/charybdis.git && cd charybdis
+RUN cd /charybdis && ./autogen.sh && ./configure --prefix=/home/tester/ircd --bindir=/usr/bin && make -j8 && make install
+RUN chown -R tester:tester /home/tester/ircd
+RUN rm -rf /charybdis
+
+RUN apt install -y locales
+RUN export LANGUAGE=en_US.UTF-8
+RUN export LANG=en_US.UTF-8
+RUN export LC_ALL=en_US.UTF-8
+RUN locale-gen
+RUN dpkg-reconfigure locales
+
+RUN dpkg-reconfigure locales && \
+ locale-gen C.UTF-8 && \
+ /usr/sbin/update-locale LANG=C.UTF-8
+
+ENV LC_ALL C.UTF-8
+
+WORKDIR /home/tester
+USER tester
diff --git a/docker/biboumi-test/fedora/Dockerfile b/docker/biboumi-test/fedora/Dockerfile
new file mode 100644
index 0000000..3c48645
--- /dev/null
+++ b/docker/biboumi-test/fedora/Dockerfile
@@ -0,0 +1,64 @@
+# 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/fedora:latest
+
+RUN dnf update -y
+
+# Needed to build biboumi
+RUN dnf install -y gcc-c++
+RUN dnf install -y clang
+RUN dnf install -y valgrind
+RUN dnf install -y c-ares-devel
+RUN dnf install -y sqlite-devel
+RUN dnf install -y libuuid-devel
+RUN dnf install -y cmake
+RUN dnf install -y make
+RUN dnf install -y expat-devel
+RUN dnf install -y libidn-devel
+RUN dnf install -y uuid-devel
+RUN dnf install -y systemd-devel
+RUN dnf install -y pandoc
+
+# Needed to run tests
+RUN dnf install -y git
+RUN dnf install -y fedora-packager python3-lxml
+RUN dnf install -y lcov
+
+# To be able to create the RPM
+RUN dnf install -y rpmdevtools
+
+# Install botan
+RUN git clone https://github.com/randombit/botan.git
+RUN cd botan && ./configure.py --prefix=/usr && make -j8 && make install
+RUN rm -rf /botan
+
+# Install litesql
+RUN git clone git://git.louiz.org/litesql
+RUN mkdir /litesql/build && cd /litesql/build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr && make -j8
+RUN cd /litesql/build && make install
+RUN rm -rf /litesql
+
+RUN ldconfig
+
+# Install slixmpp, for e2e tests
+RUN git clone git://git.louiz.org/slixmpp
+RUN pip3 install pyasn1
+RUN dnf install -y python3-devel
+RUN cd slixmpp && python3 setup.py build && python3 setup.py install
+
+RUN useradd tester
+
+# Install charybdis, for e2e tests
+RUN dnf install -y automake autoconf flex flex-devel bison libtool-ltdl-devel openssl-devel
+RUN dnf install -y libtool
+RUN git clone https://github.com/charybdis-ircd/charybdis.git && cd charybdis
+RUN cd /charybdis && ./autogen.sh && ./configure --prefix=/home/tester/ircd --bindir=/usr/bin && make -j8 && make install
+RUN chown -R tester:tester /home/tester/ircd
+RUN rm -rf /charybdis
+
+RUN su - tester -c "echo export LANG=en_GB.utf-8 >> /home/tester/.bashrc"
+
+WORKDIR /home/tester
+USER tester
+