diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 55663a0..36ddfc1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,9 +24,15 @@ jobs: - uses: quentinguidee/pep8-action@v1 with: arguments: '--max-line-length=120 --ignore E265,E266,E402,E501,E704,E712,E713,E714,E711,E722,E741,W504,W605 --exclude *.yml.py,docs/*,python/bindings/* --filename=*.py,iridium-extractor' - ubuntu-24-04: - name: Ubuntu 24.04 - runs-on: ubuntu-24.04 + ubuntu: + name: Ubuntu + strategy: + matrix: + os: + - version: ubuntu-22.04 + packages: libsndfile1-dev + - version: ubuntu-24.04 + runs-on: ${{matrix.os.version}} steps: - uses: actions/checkout@v4 @@ -34,6 +40,9 @@ jobs: run: | sudo apt update sudo apt install gnuradio-dev cmake + - name: Install extra packages + if: ${{matrix.os.packages}} + sudo apt install ${{matrix.os.packages}} - name: Build run: | cmake -B build @@ -57,38 +66,6 @@ jobs: iridium-extractor examples/hackrf-10msps.conf 2>&1 | tee stderr-out cat stderr-out | grep "RuntimeError: Failed to use '0' as HackRF device index: not enough devices" - ubuntu-22-04: - name: Ubuntu 22.04 - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v4 - - - name: Install GNU Radio - run: | - sudo apt update - sudo apt install gnuradio-dev cmake libsndfile1-dev - - name: Build - run: | - cmake -B build - cmake --build build - - name: Install - run: | - cd build - sudo make install - sudo ldconfig - - name: Unit Tests - run: | - cd build - make test - - name: Open SDR with gr-soapy - run: | - iridium-extractor examples/hackrf-soapy.conf 2>&1 | tee stderr-out - cat stderr-out | grep "RuntimeError: no hackrf device matches" - - name: Open SDR with gr-osmosdr - run: | - sudo apt install gr-osmosdr - iridium-extractor examples/hackrf-10msps.conf 2>&1 | tee stderr-out - cat stderr-out | grep "RuntimeError: Failed to use '0' as HackRF device index: not enough devices" gr-ppa: name: Ubuntu 20.04 + GNURadio PPA runs-on: ubuntu-20.04