travis: Test in Ubuntu 18.04 container
- Install gnuradio from the new official PPA repository
https://launchpad.net/~gnuradio/+archive/ubuntu/gnuradio-releases
Change-Id: Iaa8813ab0ae91b667285ab3ef42ffaa279e3a885
diff --git a/.dockerignore b/.dockerignore
index 1b2211d..ef67c26 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1 +1,2 @@
build*
+.git
diff --git a/.travis.yml b/.travis.yml
index 182e006..437e66e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,6 +9,7 @@
# - DOCKERFILE=tests/dockerfiles/Ubuntu_16_04_nolibosmo.docker IMGNAME=ubu16.04-grgsm-nolibosmo
- DOCKERFILE=tests/dockerfiles/Kali.docker IMGNAME=kali-grgsm
# - DOCKERFILE=tests/dockerfiles/Fedora_26.Dockerfile IMGNAME=fedora26-grgsm
+ - DOCKERFILE=tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker IMGNAME=ubuntu_18_04_gnuradio_ppa
services:
diff --git a/tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker b/tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker
new file mode 100644
index 0000000..e0f45a5
--- /dev/null
+++ b/tests/dockerfiles/Ubuntu_18_04_gnuradio_ppa.docker
@@ -0,0 +1,51 @@
+FROM ubuntu:18.04
+MAINTAINER Vasil Velichkov
+
+RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
+ software-properties-common && \
+ add-apt-repository --yes ppa:gnuradio/gnuradio-releases && \
+ DEBIAN_FRONTEND=noninteractive apt-get install -y \
+ git \
+ cmake \
+ autoconf \
+ libtool \
+ pkg-config \
+ build-essential \
+ python-docutils \
+ libcppunit-dev \
+ swig \
+ doxygen \
+ liblog4cpp5-dev \
+ python-scipy \
+ gnuradio-dev gnuradio libgmp-dev libboost-regex-dev liborc-dev libuhd-dev \
+ libosmocore-dev
+
+RUN git clone --branch maint-3.8 --recurse-submodules https://github.com/velichkov/gr-iqbal && \
+ cd gr-iqbal && \
+ mkdir build && \
+ cd build && \
+ cmake -DENABLE_DOXYGEN=OFF .. && \
+ make -j $(nproc) install
+
+RUN git clone --branch maint-3.8 https://github.com/velichkov/gr-osmosdr && \
+ cd gr-osmosdr && \
+ mkdir build && \
+ cd build && \
+ cmake -DENABLE_DOXYGEN=OFF .. && \
+ make -j $(nproc) install
+
+COPY ./ /src/
+RUN mkdir /src/build
+WORKDIR /src/build
+
+#PYTHONPATH is needed as gr-osmosdr gets installed in /usr/local/lib/python3/...
+ENV PYTHONPATH=/usr/local/lib/python3/dist-packages/:$PYTHONPATH
+
+RUN cmake .. && \
+ # The parallel build sometimes fails when the .grc_gnuradio
+ # and .gnuradio directories do not exist
+ mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/ && \
+ make -j $(nproc) && \
+ make install && \
+ ldconfig && \
+ make CTEST_OUTPUT_ON_FAILURE=1 test