diff --git a/.github/workflows/build_dev.yml b/.github/workflows/build_dev.yml index 253a6f5..9c4575a 100644 --- a/.github/workflows/build_dev.yml +++ b/.github/workflows/build_dev.yml @@ -35,6 +35,7 @@ jobs: "pyadi-iio-python-3_10", "pyadi-iio-python-3_11", "dev", + "gui-testing", ] include: - project: "hdl" @@ -91,6 +92,9 @@ jobs: - project: "dev" DOCKERFILE: "Dockerfile-dev" TAG_ROOT: "dev" + - project: "gui-testing" + DOCKERFILE: "gui-testing/Dockerfile-gui-generic" + TAG_ROOT: "gui-generic" steps: - name: Checkout diff --git a/gui-testing/Dockerfile-gui-generic b/gui-testing/Dockerfile-gui-generic new file mode 100644 index 0000000..8e2a5ca --- /dev/null +++ b/gui-testing/Dockerfile-gui-generic @@ -0,0 +1,26 @@ +FROM ubuntu:20.04 + +ENV DEBIAN_FRONTEND=noninteractive + +RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt update +RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y sudo git unzip wget vim apt-utils +RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y cmake make build-essential +RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev +RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y libgl1-mesa-dev libglfw3-dev libssl-dev libopencv-contrib-dev libopencv-dev +RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y python3-pip python3-tk python3-dev +RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y tigervnc-standalone-server openbox gnome-screenshot + +# Set BASH as the default shell +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND dpkg-reconfigure dash + +# Install other dependencies +COPY /gui-testing/*.sh /scripts/ +COPY /test-harness/*.sh /scripts/ +RUN chmod -R +x scripts +RUN /scripts/install_testdeps.sh +RUN /scripts/install_nebula.sh +RUN /scripts/install_telemetry.sh + +# Cleanup +RUN apt-get clean \ No newline at end of file diff --git a/gui-testing/install_testdeps.sh b/gui-testing/install_testdeps.sh new file mode 100644 index 0000000..d9ec479 --- /dev/null +++ b/gui-testing/install_testdeps.sh @@ -0,0 +1,13 @@ +#!/bin/bash +#install pyewmh +git clone https://github.com/kimpaller/pyewmh.git +cd pyewmh +pip3 install . +cd .. + +#install pyguit +git clone -b main https://github.com/sdgtt/gui-testing.git +cd gui-testing +pip3 install -r requirements_linux.txt +pip3 install . +cd .. \ No newline at end of file diff --git a/test-harness/Dockerfile-test-harness b/test-harness/Dockerfile-test-harness index 9210db3..7368c63 100644 --- a/test-harness/Dockerfile-test-harness +++ b/test-harness/Dockerfile-test-harness @@ -7,12 +7,12 @@ RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt update RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y libpng-dev libfreetype6-dev libblas-dev liblapack-dev gfortran build-essential xorg RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y openjdk-8-jre openjdk-8-jdk libgtk2.0-0 libxss1 libxt6 zip unzip curl wget tar git xvfb RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y fakeroot libncurses5-dev libncurses5 libssl-dev ccache dfu-util u-boot-tools device-tree-compiler libhidapi-dev -RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y libssl-dev mtools bc python cpio zip unzip rsync file wget +RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y mtools bc python cpio rsync file RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y libicu66 libicu-dev screen RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y graphviz rpm bzip2 gzip RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND dpkg --add-architecture i386 RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y lib32stdc++6 -RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y cmake make build-essential libxml2-dev bison flex libcdk5-dev cmake +RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y cmake make libxml2-dev bison flex libcdk5-dev RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y libaio-dev libusb-1.0-0-dev libserialport-dev libzstd-dev RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y libavahi-common-dev libavahi-client-dev RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y python3-pip iputils-ping sudo net-tools iproute2 python3-tk @@ -36,6 +36,7 @@ RUN /scripts/install_libserialport.sh RUN /scripts/install_libiio.sh RUN /scripts/install_nebula.sh RUN /scripts/install_telemetry.sh +RUN /scripts/install_pyadi-iio_req.sh # Cleanup RUN apt-get clean diff --git a/test-harness/Dockerfile-test-harness-ubuntu22-04 b/test-harness/Dockerfile-test-harness-ubuntu22-04 index e0f4105..920931e 100644 --- a/test-harness/Dockerfile-test-harness-ubuntu22-04 +++ b/test-harness/Dockerfile-test-harness-ubuntu22-04 @@ -25,7 +25,7 @@ RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y python3-pip bpython pyth RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND python3 -m pip install --upgrade pip # For HDL -RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y cmake make build-essential libxml2-dev bison flex libcdk5-dev cmake +RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y cmake make build-essential libxml2-dev bison flex libcdk5-dev RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y libaio-dev libusb-1.0-0-dev libserialport-dev libzstd-dev RUN DEBIAN_FRONTEND=$DEBIAN_FRONTEND apt-get install -y libavahi-common-dev libavahi-client-dev @@ -47,6 +47,7 @@ RUN /scripts/install_libserialport.sh RUN /scripts/install_libiio.sh RUN /scripts/install_nebula.sh RUN /scripts/install_telemetry.sh +RUN /scripts/install_pyadi-iio_req.sh # Cleanup RUN apt-get clean diff --git a/test-harness/install_libiio.sh b/test-harness/install_libiio.sh index c593f0a..3a33068 100644 --- a/test-harness/install_libiio.sh +++ b/test-harness/install_libiio.sh @@ -1,5 +1,5 @@ #!/bin/bash -git clone -b 'v0.25' --single-branch --depth 1 https://github.com/analogdevicesinc/libiio.git +git clone -b 'v0.26' --single-branch --depth 1 https://github.com/analogdevicesinc/libiio.git cd libiio mkdir build cd build diff --git a/test-harness/install_pyadi-iio_req.sh b/test-harness/install_pyadi-iio_req.sh new file mode 100644 index 0000000..438e4a0 --- /dev/null +++ b/test-harness/install_pyadi-iio_req.sh @@ -0,0 +1,5 @@ +#!/bin/bash +wget --timeout=5 https://raw.githubusercontent.com/analogdevicesinc/pyadi-iio/main/requirements.txt +wget --timeout=5 https://raw.githubusercontent.com/analogdevicesinc/pyadi-iio/main/requirements_dev.txt +pip3 install -r requirements.txt +pip3 install -r requirements_dev.txt \ No newline at end of file