Skip to content

Commit

Permalink
ci: use a matrix for modern ubuntu versions
Browse files Browse the repository at this point in the history
  • Loading branch information
schneider42 committed Sep 9, 2024
1 parent b695dad commit c636806
Showing 1 changed file with 31 additions and 32 deletions.
63 changes: 31 additions & 32 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,37 @@ 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-20.04
ppa: gnuradio/gnuradio-releases
packages: libsndfile-dev libspdlog-dev pybind11-dev
osmosdr-from-source: True
- version: ubuntu-20.04
ppa: gnuradio/gnuradio-releases-3.9
packages: libsndfile-dev libspdlog-dev pybind11-dev gr-somosdr
- version: ubuntu-22.04
packages: libsndfile1-dev gr-osmosdr
- version: ubuntu-24.04
packages: gr-osmosdr
runs-on: ${{matrix.os.version}}
steps:
- uses: actions/checkout@v4

- name: Add PPA
if: ${{matrix.os.ppa}}
run: |
sudo add-apt-repository ppa:${{matrix.os.ppa}}
- name: Install GNU Radio
run: |
sudo apt update
sudo apt install gnuradio-dev cmake
- name: Install extra packages
if: ${{matrix.os.packages}}
run: |
sudo apt install ${{matrix.os.packages}}
- name: Build
run: |
cmake -B build
Expand All @@ -51,44 +72,22 @@ jobs:
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"
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
- name: Install gr-osmosdr from source
if: ${{matrix.os.osmosdr-from-source}}
run: |
git clone https://github.com/osmocom/gr-osmosdr
cd gr-osmosdr
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
Expand Down

0 comments on commit c636806

Please sign in to comment.