name: MacOS Build on: workflow_dispatch: push: branches: - master - v1.10 - v1.11 pull_request: branches: - master - v1.10 - v1.11 jobs: build: name: Build MacOS runs-on: macos-latest steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install dependencies run: | brew update brew upgrade # Remove pinned cmake version (https://github.com/actions/runner-images/blob/macos-15-arm64/20250825.2246/images/macos/scripts/build/install-common-utils.sh#L19) brew uninstall --ignore-dependencies cmake || true # brew install libtiff openssl@3 brew install \ autoconf \ automake \ curl \ ffmpeg@7 \ gnu-sed \ jpeg \ ldns \ libpq@18 \ libsndfile \ libtool \ lua \ opus \ ossp-uuid \ pcre2 \ pkgconf \ sofia-sip \ speex \ speexdsp \ sqlite \ yasm \ && \ brew list --pinned | awk '{system("brew unpin " $1)}' && \ brew install --adopt \ signalwire/homebrew-signalwire/libks2 \ signalwire/homebrew-signalwire/signalwire-c2 \ signalwire/homebrew-signalwire/spandsp \ && \ brew link --force --overwrite \ ffmpeg@7 \ libpq@18 - name: Bootstrap FreeSWITCH run: ./bootstrap.sh -j # - name: Disable modules # run: | # gsed -i \ # -e '/mod_pgsql/s/^/#/g' \ # modules.conf - name: Configure build run: | mkdir -p OUT && \ ./configure \ --enable-shared \ --enable-static \ --exec_prefix=${{ github.workspace }}/OUT \ --prefix=${{ github.workspace }}/OUT - name: Build run: | make - name: Install to local folder run: | make install # - name: Debug - List all files # run: | # find . -type f | sort - name: Upload build artifacts uses: actions/upload-artifact@v4 if: always() with: name: freeswitch-macos-build path: | OUT/