2020-11-21 13:27:25 +00:00
|
|
|
name: CI
|
|
|
|
|
2020-11-22 18:22:45 +00:00
|
|
|
on: [push, pull_request]
|
2020-11-21 13:27:25 +00:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
ubuntu-build:
|
|
|
|
name: Ubuntu CI
|
|
|
|
strategy:
|
|
|
|
matrix:
|
2022-08-12 01:22:21 +00:00
|
|
|
os: [ubuntu-20.04, ubuntu-22.04]
|
2020-11-21 13:27:25 +00:00
|
|
|
backend: [Pulseaudio, Portaudio, Gr-audio]
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
|
|
|
- name: Install dependencies
|
2022-07-16 23:02:29 +00:00
|
|
|
run: sudo apt-get update -qq && sudo apt-get install -y cmake libboost-dev libpulse-dev portaudio19-dev libsndfile-dev liblog4cpp5-dev gnuradio-dev gr-osmosdr liborc-0.4-dev appstream desktop-file-utils
|
|
|
|
- name: Install Qt5
|
|
|
|
if: matrix.os != 'ubuntu-22.04'
|
|
|
|
run: sudo apt-get install -y qt5-default libqt5svg5-dev
|
|
|
|
- name: Install Qt6
|
|
|
|
if: matrix.os == 'ubuntu-22.04'
|
|
|
|
run: sudo apt-get install -y qt6-base-dev libqt6svg6-dev libqt6svgwidgets6 libgl-dev
|
2020-11-21 13:27:25 +00:00
|
|
|
- name: Checkout code
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Configure
|
|
|
|
run: mkdir build && cd build && cmake -DLINUX_AUDIO_BACKEND:STRING=${{ matrix.backend }} ..
|
|
|
|
- name: Compile
|
|
|
|
working-directory: build
|
2022-01-23 15:22:15 +00:00
|
|
|
run: make -j4
|
2022-01-21 00:03:28 +00:00
|
|
|
- name: Validate desktop entry
|
2022-01-23 15:09:40 +00:00
|
|
|
if: matrix.os == 'ubuntu-20.04'
|
2022-01-23 14:42:12 +00:00
|
|
|
run: desktop-file-validate dk.gqrx.gqrx.desktop
|
2022-01-22 14:46:24 +00:00
|
|
|
- name: Validate appstream metadata
|
2022-01-23 15:09:40 +00:00
|
|
|
if: matrix.os == 'ubuntu-20.04'
|
2022-01-23 14:42:12 +00:00
|
|
|
run: appstreamcli validate dk.gqrx.gqrx.appdata.xml
|
2020-11-21 13:27:25 +00:00
|
|
|
macos-build:
|
|
|
|
name: MacOS CI
|
2020-12-15 13:08:22 +00:00
|
|
|
strategy:
|
|
|
|
matrix:
|
2022-08-12 01:22:21 +00:00
|
|
|
os: [macos-11, macos-12]
|
2020-12-15 13:08:22 +00:00
|
|
|
backend: [Portaudio, Gr-audio]
|
|
|
|
runs-on: ${{ matrix.os }}
|
2020-11-21 13:27:25 +00:00
|
|
|
steps:
|
|
|
|
- name: Install dependencies
|
2021-04-03 00:46:28 +00:00
|
|
|
run: |
|
2021-05-19 01:45:32 +00:00
|
|
|
brew update
|
2022-01-27 20:40:17 +00:00
|
|
|
brew install airspy boost gnuradio hackrf libbladerf librtlsdr pybind11 uhd qt@6
|
2021-04-03 00:46:28 +00:00
|
|
|
|
|
|
|
cd /tmp
|
2022-03-31 20:36:30 +00:00
|
|
|
git clone https://gitea.osmocom.org/sdr/gr-osmosdr.git
|
2021-04-03 00:46:28 +00:00
|
|
|
cd gr-osmosdr
|
|
|
|
mkdir build
|
|
|
|
cd build
|
2022-07-17 00:34:21 +00:00
|
|
|
cmake -DCMAKE_CXX_FLAGS=-Wno-register ..
|
2022-01-23 15:22:15 +00:00
|
|
|
LIBRARY_PATH=/usr/local/opt/icu4c/lib make -j4
|
2021-04-03 00:46:28 +00:00
|
|
|
make install
|
2020-11-21 13:27:25 +00:00
|
|
|
- name: Checkout code
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Configure
|
2020-12-15 13:08:22 +00:00
|
|
|
run: mkdir build && cd build && cmake -DOSX_AUDIO_BACKEND:STRING=${{ matrix.backend }} ..
|
2020-11-21 13:27:25 +00:00
|
|
|
- name: Compile
|
|
|
|
working-directory: build
|
2022-01-23 15:22:15 +00:00
|
|
|
run: make -j4
|