Add github action to build and publish Snap #1701
Workflow file for this run
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@v3 | |
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/[email protected] | |
with: | |
files: ${{ github.workspace }}/build/sdrangel-${{ steps.get_version.outputs.version }}-win64.exe | |
build_mac: | |
runs-on: macos-13 | |
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 -DARCH_OPT=nehalem -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: Get filename | |
id: get_filename | |
run: echo "filename=$(grep CPACK_PACKAGE_FILE_NAME build/CMakeCache.txt | cut -d "=" -f2)" >> $GITHUB_OUTPUT | |
- name: Build SDRangel on Mac | |
run: | | |
cd build | |
make -j3 |