--- /dev/null
+name: MacOS Build
+
+on:
+ workflow_dispatch:
+ push:
+ branches:
+ - master
+ - v1.10
+ pull_request:
+ branches:
+ - master
+ - v1.10
+
+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 install libtiff openssl@3 pkg-config
+ brew install \
+ autoconf \
+ automake \
+ curl \
+ ffmpeg@5 \
+ gnu-sed \
+ jpeg \
+ ldns \
+ libpq@16 \
+ libsndfile \
+ libtool \
+ lua \
+ opus \
+ ossp-uuid \
+ pcre \
+ sofia-sip \
+ speex \
+ speexdsp \
+ sqlite \
+ yasm \
+ && \
+ brew install \
+ signalwire/homebrew-signalwire/libks2 \
+ signalwire/homebrew-signalwire/signalwire-c2 \
+ signalwire/homebrew-signalwire/spandsp \
+ && \
+ brew link --force --overwrite \
+ ffmpeg@5 \
+ libpq@16
+
+ - 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/