diff --git a/.github/scripts/install_libiio.sh b/.github/scripts/install_libiio.sh index c4b0123f3..4a5b6fe28 100755 --- a/.github/scripts/install_libiio.sh +++ b/.github/scripts/install_libiio.sh @@ -1,9 +1,28 @@ #!/bin/bash + +# Set LIBIIO_BRANCH if not set +if [ -z "$LIBIIO_BRANCH" ]; then + LIBIIO_BRANCH="v0.25" +fi + sudo apt-get -qq update -sudo apt-get install -y git cmake graphviz libavahi-common-dev libavahi-client-dev libaio-dev libusb-1.0-0-dev libxml2-dev rpm tar bzip2 gzip flex bison git -git clone -b 'v0.25' --single-branch --depth 1 https://github.com/analogdevicesinc/libiio.git +sudo apt-get install -y git cmake graphviz libavahi-common-dev libavahi-client-dev libaio-dev libusb-1.0-0-dev libxml2-dev rpm tar bzip2 gzip flex bison git libzstd-dev +git clone -b $LIBIIO_BRANCH --single-branch --depth 1 https://github.com/analogdevicesinc/libiio.git cd libiio cmake . -DHAVE_DNS_SD=OFF make sudo make install cd .. +rm -rf libiio + +# Python pieces +sudo apt-get install -y python3-pip python3-setuptools +git clone -b $LIBIIO_BRANCH --single-branch --depth 1 https://github.com/analogdevicesinc/libiio.git +cd libiio +cmake . -DHAVE_DNS_SD=OFF -DPYTHON_BINDINGS=ON +make +cd bindings/python +pip install . +cd ../.. +cd .. +rm -rf libiio diff --git a/.github/scripts/install_part_libs.sh b/.github/scripts/install_part_libs.sh index 5109bb93a..30d3ad6fc 100755 --- a/.github/scripts/install_part_libs.sh +++ b/.github/scripts/install_part_libs.sh @@ -1,7 +1,23 @@ #!/bin/bash + +# Set LIBIIO_BRANCH if not set +if [ -z "$LIBIIO_BRANCH" ]; then + LIBIIO_BRANCH="v0.25" +fi + +if [ "$LIBIIO_BRANCH" = "main" ]; then + exit 0 +fi + + + git clone -b 'master' --single-branch --depth 1 https://github.com/analogdevicesinc/libad9361-iio.git cd libad9361-iio -cmake -DPYTHON_BINDINGS=ON . +if [ "$LIBIIO_BRANCH" = "main" ]; then + cmake -DPYTHON_BINDINGS=ON -DLIBIIO_INCLUDEDIR=/usr/include/iio . +else + cmake -DPYTHON_BINDINGS=ON . +fi make cd bindings/python pip install . @@ -13,7 +29,11 @@ rm -rf libad9361-iio git clone -b 'master' --single-branch --depth 1 https://github.com/analogdevicesinc/libad9166-iio.git cd libad9166-iio -cmake -DPYTHON_BINDINGS=ON . +if [ "$LIBIIO_BRANCH" = "main" ]; then + cmake -DPYTHON_BINDINGS=ON -DLIBIIO_INCLUDEDIR=/usr/include/iio . +else + cmake -DPYTHON_BINDINGS=ON . +fi make cd bindings/python pip install . diff --git a/.github/scripts/install_pydeps.sh b/.github/scripts/install_pydeps.sh index 64849051c..bf2f6be05 100644 --- a/.github/scripts/install_pydeps.sh +++ b/.github/scripts/install_pydeps.sh @@ -2,4 +2,20 @@ sudo apt-get install -y python3-pip python3-setuptools pip install -r requirements.txt pip install -r requirements_dev.txt -pip install pylibiio + +if [ "$LIBIIO_BRANCH" = "main" ]; then + pip install --no-deps --force-reinstall pytest-libiio@git+https://github.com/tfcollins/pytest-libiio.git@master + pip install lxml pyyaml + # Update python bindings again + git clone -b $LIBIIO_BRANCH --single-branch --depth 1 https://github.com/analogdevicesinc/libiio.git + cd libiio + cmake . -DHAVE_DNS_SD=OFF -DPYTHON_BINDINGS=ON + make + cd bindings/python + pip install . + cd ../.. + cd .. + rm -rf libiio +else + pip install "pytest-libiio>=0.0.14" +fi diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0e7233e14..e5c763ce7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,6 +8,7 @@ jobs: strategy: matrix: python-version: [3.7, 3.8, 3.9, "3.10"] + libiio: ['main', 'v0.25'] steps: - uses: actions/checkout@v2 @@ -18,6 +19,7 @@ jobs: - name: Install dependencies run: | + export LIBIIO_BRANCH=${{ matrix.libiio }} bash ./.github/scripts/install_libiio.sh bash ./.github/scripts/install_pydeps.sh bash ./.github/scripts/install_part_libs.sh