Files
freeswitch/.github/workflows/macos.yml
2025-11-03 20:35:34 +01:00

103 lines
2.4 KiB
YAML

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@5 \
gnu-sed \
jpeg \
ldns \
libpq@16 \
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@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/