Merge pull request #2310 from srcejon/freq_scanner #1719
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://stackoverflow.com/questions/69126323/github-actions-creating-releases-for-multiple-branches-in-a-single-workflow | |
# https://gist.github.com/NickNaso/0d478f1481686d5bcc868cac06620a60 | |
name: SDRangel CI/CD | |
on: | |
push: | |
branches: | |
- master | |
- mac_ci | |
tags: | |
- 'v*' | |
pull_request: | |
jobs: | |
build: | |
name: ${{ matrix.config.name }} | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { | |
name: "Windows-x64", | |
WIN_ARCH: "x64", | |
os: windows-latest, | |
QT_INST_DIR: "C:/", | |
QTDIR: "C:/Qt/6.7.3/msvc2019_64", | |
QT_ARCH: win64_msvc2019_64, | |
boost_dl: "${{ github.workspace }}\\downloads\\boost", | |
lib_dir: "C:\\Libraries", | |
generators: Ninja | |
} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- name: Print env | |
run: | | |
echo github.event.action: ${{ github.event.action }} | |
echo github.event_name: ${{ github.event_name }} | |
echo github.ref: ${{ github.ref }} | |
echo github.workspace: ${{ github.workspace }} | |
- name: Install basic dependencies on Windows | |
if: startsWith(matrix.config.os, 'windows') | |
run: | | |
choco install ninja cmake | |
ninja --version | |
cmake --version | |
- name: Install MSVC on Windows | |
if: startsWith(matrix.config.os, 'windows') | |
uses: ilammy/msvc-dev-cmd@v1 | |
with: | |
arch: x64 | |
- name: Install Boost | |
env: | |
BOOST_ROOT: ${{ matrix.config.boost_dl }} | |
BOOST_DEST: ${{ matrix.config.lib_dir }} | |
BOOST_URL: https://archives.boost.io/release/1.73.0/source/boost_1_73_0.tar.bz2 | |
run: | | |
mkdir -p $BOOST_ROOT | |
mkdir -p $BOOST_DEST | |
curl --progress-bar --location --output $BOOST_ROOT/download.tar.bz2 $BOOST_URL | |
7z -o$BOOST_ROOT x $BOOST_ROOT/download.tar.bz2 -y -bd | |
7z -o$BOOST_ROOT x $BOOST_ROOT/download.tar -y -bd | |
cd $BOOST_ROOT && cp -r boost_* $BOOST_DEST | |
ls -l $BOOST_DEST | |
ls -l "C:\\" | |
rm -rf boost_*/* download.tar.bz2 download.tar | |
shell: bash | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v4 | |
with: | |
version: '6.7.3' | |
dir: ${{matrix.config.QT_INST_DIR}} | |
arch: ${{matrix.config.QT_ARCH}} | |
setup-python: false | |
modules: 'qtcharts qtscxml qt5compat qtlocation qtmultimedia qtpositioning qtserialport qtspeech qtwebsockets qtwebengine qtshadertools' | |
- name: build sdrangel on Windows | |
if: startsWith(matrix.config.os, 'windows') | |
run: | | |
cmd "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" | |
choco install patch | |
mkdir build && cd build | |
cmake .. -G "${{ matrix.config.generators }}" -DCMAKE_BUILD_TYPE=Release -DENABLE_QT6=ON -DARCH_OPT=SSE4_2 -DDEBUG_OUTPUT=ON -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DCMAKE_PREFIX_PATH="C:\Qt\6.7.3\msvc2019_64;C:\Libraries\boost_1_73_0" | |
cmake --build . --config Release --target package | |
- name: Check disk space | |
run: Get-PSDrive | |
- name: Get version | |
id: get_version | |
run: echo "version=$(grep sdrangel_VERSION build/CMakeCache.txt | cut -d "=" -f2)" >> $env:GITHUB_OUTPUT | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: sdrangel-${{ steps.get_version.outputs.version }}-win64.exe | |
path: ${{ github.workspace }}/build/sdrangel-${{ steps.get_version.outputs.version }}-win64.exe | |
- name: Upload release | |
if: startsWith(github.ref, 'refs/tags/') | |
uses: softprops/action-gh-release@v0.1.13 | |
with: | |
files: ${{ github.workspace }}/build/sdrangel-${{ steps.get_version.outputs.version }}-win64.exe | |
build_mac: | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- name: Update brew | |
run: brew update | |
- name: Install brew uhd package | |
run: | | |
rm -f /usr/local/bin/2to3* | |
rm -f /usr/local/bin/idle3* | |
rm -f /usr/local/bin/pydoc3* | |
rm -f /usr/local/bin/python3* | |
rm -f /usr/local/bin/python3-config | |
brew install uhd | |
- name: Install brew opencv package | |
run: | | |
rm -f /usr/local/bin/2to3 | |
brew install opencv | |
- name: Install brew packages | |
run: brew install nasm boost hidapi libusb fftw ffmpeg@5 faad2 zlib airspy airspyhf hackrf rtl-sdr libbladerf soapysdr qt subversion | |
- name: Configure SDRangel | |
run: | | |
mkdir build && cd build | |
cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_QT6=ON -DCMAKE_BUILD_TYPE=Release -DDEBUG_OUTPUT=ON -DENABLE_CHANNELRX_DEMODDATV=OFF -DENABLE_CHANNELTX_MODDATV=OFF -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DENABLE_EXTERNAL_LIBRARIES=AUTO -DBUNDLE=ON -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=TRUE -DCMAKE_PREFIX_PATH="/usr/local/opt/ffmpeg@5/" | |
- name: Build SDRangel on Mac | |
run: | | |
cd build | |
make -j3 |