Use macos-14 image to build on ARM which is twice as fast. #28
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
name: SDRangel Mac release build | |
on: | |
push: | |
branches: | |
- mac_ci | |
tags: | |
- 'v*' | |
jobs: | |
build_mac_x64: | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- name: Update brew | |
run: brew update | |
- name: Install brew packages | |
run: brew install nasm subversion | |
- name: Install SDRplay API | |
run: | | |
wget https://www.sdrplay.com/software/SDRplayAPI-macos-installer-universal-3.15.0.pkg | |
sudo installer -pkg SDRplayAPI-macos-installer-universal-3.15.0.pkg -target / | |
- name: Install python | |
run: | | |
wget https://www.python.org/ftp/python/3.12.7/python-3.12.7-macos11.pkg | |
sudo installer -pkg python-3.12.7-macos11.pkg -target / | |
- name: Install python packages for UHD | |
run: | | |
/usr/local/bin/python3.12 -m pip install numpy mako requests Cheetah3 setuptools | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v4 | |
with: | |
version: '6.7.3' | |
host: 'mac' | |
arch: 'clang_64' | |
modules: 'qtcharts qtscxml qt5compat qtlocation qtmultimedia qtpositioning qtserialport qtspeech qtwebsockets qtwebengine qtshadertools qtwebchannel' | |
- 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_USRP=ON -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DENABLE_EXTERNAL_LIBRARIES=ON -DBUNDLE=ON -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=TRUE -DPYTHON_EXECUTABLE=/usr/local/bin/python3.12 | |
- name: Build SDRangel on Mac | |
run: | | |
cd build | |
make -j4 package | |
- name: Get version | |
id: get_version | |
run: | | |
if [[ "${{github.ref_name}}" == "mac_ci" ]]; then | |
echo "version=${{github.sha}}" >> $GITHUB_OUTPUT | |
else | |
echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT | |
fi | |
- name: Get filename | |
id: get_filename | |
run: echo "filename=$(grep CPACK_PACKAGE_FILE_NAME build/CMakeCache.txt | cut -d "=" -f2)" >> $GITHUB_OUTPUT | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: sdrangel-${{ steps.get_version.outputs.version }}-macx64.dmg | |
path: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.dmg | |
- name: Upload release | |
if: startsWith(github.ref, 'refs/tags/') | |
uses: softprops/action-gh-release@v2 | |
with: | |
files: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.dmg | |
build_mac_arm64: | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 0 | |
- name: Update brew | |
run: brew update | |
- name: Install brew packages | |
run: brew install nasm subversion | |
- name: Install SDRplay API | |
run: | | |
wget https://www.sdrplay.com/software/SDRplayAPI-macos-installer-universal-3.15.0.pkg | |
sudo installer -pkg SDRplayAPI-macos-installer-universal-3.15.0.pkg -target / | |
- name: Install python | |
run: | | |
wget https://www.python.org/ftp/python/3.12.7/python-3.12.7-macos11.pkg | |
sudo installer -pkg python-3.12.7-macos11.pkg -target / | |
- name: Install python packages for UHD | |
run: | | |
/usr/local/bin/python3.12 -m pip install numpy mako requests Cheetah3 setuptools | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v4 | |
with: | |
version: '6.7.3' | |
host: 'mac' | |
arch: 'clang_64' | |
modules: 'qtcharts qtscxml qt5compat qtlocation qtmultimedia qtpositioning qtserialport qtspeech qtwebsockets qtwebengine qtshadertools qtwebchannel' | |
- name: Configure SDRangel | |
run: | | |
mkdir build && cd build | |
cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_QT6=ON -DCMAKE_BUILD_TYPE=Release -DDEBUG_OUTPUT=ON -DENABLE_USRP=ON -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DENABLE_EXTERNAL_LIBRARIES=ON -DBUNDLE=ON -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=TRUE -DPYTHON_EXECUTABLE=/usr/local/bin/python3.12 | |
- name: Build SDRangel on Mac | |
run: | | |
cd build | |
make -j3 package | |
- name: Get version | |
id: get_version | |
run: | | |
if [[ "${{github.ref_name}}" == "mac_ci" ]]; then | |
echo "version=${{github.sha}}" >> $GITHUB_OUTPUT | |
else | |
echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT | |
fi | |
- name: Get filename | |
id: get_filename | |
run: echo "filename=$(grep CPACK_PACKAGE_FILE_NAME build/CMakeCache.txt | cut -d "=" -f2)" >> $GITHUB_OUTPUT | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: sdrangel-${{ steps.get_version.outputs.version }}-macarm64.dmg | |
path: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.dmg | |
- name: Upload release | |
if: startsWith(github.ref, 'refs/tags/') | |
uses: softprops/action-gh-release@v2 | |
with: | |
files: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.dmg |