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