Skip to content

Don't skip the event on window close or else wxWidgets will destroy t… #640

Don't skip the event on window close or else wxWidgets will destroy t…

Don't skip the event on window close or else wxWidgets will destroy t… #640

Workflow file for this run

name: Build FreeDV (macOS)
on:
push:
branches-ignore:
- 'dr-render-manual'
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Debug
jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally
# well on Windows or Mac. You can convert this to a matrix build if you need
# cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Install packages
shell: bash
working-directory: ${{github.workspace}}
run: brew install automake libtool numpy sox octave
- name: Install octave-signal
shell: bash
working-directory: ${{github.workspace}}
run: |
# make sure gfortran is available
sudo ln -s /opt/homebrew/bin/gfortran-14 /opt/homebrew/bin/gfortran
ls /opt/homebrew/bin/gfortran*
#sudo mkdir /usr/local/gfortran
#ls /usr/local/Cellar
#sudo ln -s /usr/local/Cellar/gcc@14/*/lib/gcc/14 /usr/local/gfortran/lib
gfortran --version
octave-cli --eval "pkg install -forge control; pkg install -forge signal"
- name: Install virtual audio devices
shell: bash
working-directory: ${{github.workspace}}
run: ./build_macos_sound_drivers.sh
- name: Build freedv-gui
shell: bash
working-directory: ${{github.workspace}}
run: UT_ENABLE=1 ./build_osx.sh
- name: Workaround macOS permission issues
run: |
sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR IGNORE INTO access VALUES ('kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159,NULL,NULL,'UNUSED',1687786159);"
sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR IGNORE INTO access VALUES ('kTCCServiceMicrophone','/opt/off/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159,NULL,NULL,'UNUSED',1687786159);"
- name: Execute unit tests
shell: bash
working-directory: ${{github.workspace}}/build_osx
run: |
FREEDV_COMPUTER_TO_RADIO_DEVICE="BlackHoleRadio 2ch" FREEDV_RADIO_TO_COMPUTER_DEVICE="BlackHoleRadio 2ch 2" FREEDV_COMPUTER_TO_SPEAKER_DEVICE="BlackHole1 2ch" FREEDV_MICROPHONE_TO_COMPUTER_DEVICE="BlackHole2 2ch" ctest -V
- name: Package executable
working-directory: ${{github.workspace}}/build_osx
run: |
make release
- name: Stash disk image
uses: actions/upload-artifact@v4
with:
name: FreeDV
path: ${{github.workspace}}/build_osx/src/FreeDV.dmg