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: xcode-27 steps: - name: Checkout code uses: actions/checkout@v7 with: fetch-depth: 0 - name: Install dependencies run: | brew update brew upgrade --formula || true # 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 \ autoconf \ automake \ curl \ ffmpeg@7 \ gnu-sed \ jpeg \ ldns \ libks \ libpq@18 \ libsndfile \ libtool \ lua \ opus \ ossp-uuid \ pcre2 \ pkgconf \ signalwire-client-c \ sofia-sip \ speex \ speexdsp \ sqlite \ && \ brew list --pinned | awk '{system("brew unpin " $1)}' && \ brew install --adopt \ signalwire/homebrew-signalwire/spandsp \ && \ brew link --force --overwrite \ ffmpeg@7 \ libpq@18 \ ruby@3.4 - 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@v7 if: always() with: name: freeswitch-macos-build path: | OUT/