From 130ca0c01c41f8cff9f5e7486750d294198098eb Mon Sep 17 00:00:00 2001 From: "Christian W. Zuckschwerdt" Date: Tue, 16 Apr 2024 12:05:11 +0200 Subject: [PATCH] Add Github Action to build check --- .github/workflows/build.yml | 84 +++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..457096d --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,84 @@ +name: Build check +on: + push: + pull_request: + workflow_dispatch: + +jobs: + macos_macports_build_job: + strategy: + fail-fast: false + matrix: + os: [macos-12, macos-14] + runs-on: ${{ matrix.os }} + name: Build on ${{ matrix.os }} (macports) + steps: + - uses: actions/checkout@v4 + - uses: melusina-org/setup-macports@v1 + - name: Install ports + run: | + sudo port install soapysdr libusb libiio libad9361-iio + - name: Configure + run: cmake -B build + - name: Build + run: cmake --build build + + macos_tfcollins_build_job: + strategy: + fail-fast: false + matrix: + os: [macos-12, macos-14] + runs-on: ${{ matrix.os }} + name: Build on ${{ matrix.os }} (tfcollins) + steps: + - uses: actions/checkout@v4 + - name: Setup tools + run: | + brew tap tfcollins/homebrew-formulae + brew update + brew install soapysdr libusb libiio libad9361-iio + - name: Configure + run: cmake -B build + - name: Build + run: cmake --build build + + macos_pothos_build_job: + strategy: + fail-fast: false + matrix: + os: [macos-12, macos-14] + runs-on: ${{ matrix.os }} + name: Build on ${{ matrix.os }} (pothos) + steps: + - uses: actions/checkout@v4 + - name: Setup tools + # Note: "distutils" package is removed in python version 3.12 + # pothosware libiio homebrew formula will fail without "setuptools" + run: | + brew tap pothosware/homebrew-pothos + brew update + pip3 install --break-system-packages setuptools + brew install soapysdr libusb libiio libad9361 + - name: Configure + run: cmake -B build + - name: Build + run: cmake --build build + + linux_build_job: + strategy: + fail-fast: false + matrix: + os: [ubuntu-20.04, ubuntu-22.04] + runs-on: ${{ matrix.os }} + name: Build on ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - name: Setup tools + run: | + sudo apt-get update -q -y + sudo apt-get install -y --no-install-recommends cmake ninja-build + sudo apt-get install -q -y libsoapysdr-dev libusb-1.0-0-dev libiio-dev libad9361-dev + - name: Configure + run: cmake -GNinja -B build + - name: Build + run: cmake --build build