Skip to content

Commit 2f7a607

Browse files
committed
Add macOS 26 CI build workflow
Build and test SEMS on macOS 26 (Apple Silicon) using Homebrew for dependencies. Verifies the sems binary, shared libraries and Rust monitoring tools.
1 parent 69d0dee commit 2f7a607

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

.github/workflows/macos_build.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: macOS build
2+
3+
on:
4+
push:
5+
branches:
6+
- '**'
7+
pull_request:
8+
branches:
9+
- '**'
10+
workflow_dispatch:
11+
12+
permissions:
13+
contents: read
14+
15+
jobs:
16+
macos_build:
17+
runs-on: macos-26
18+
name: macOS 26 build
19+
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v5
23+
24+
- name: Install dependencies
25+
run: |
26+
brew install libevent speex libgsm opus python@3 \
27+
libev libxml2 curl hiredis spandsp pkg-config \
28+
openssl rust
29+
30+
- name: Configure
31+
run: |
32+
mkdir build && cd build
33+
cmake .. \
34+
-DSEMS_USE_SPANDSP=ON \
35+
-DSEMS_USE_OPUS=ON \
36+
-DCMAKE_PREFIX_PATH="$(brew --prefix)"
37+
38+
- name: Build and run tests
39+
run: |
40+
cd build
41+
make -j$(sysctl -n hw.ncpu) sems_tests
42+
./core/sems_tests
43+
make -j$(sysctl -n hw.ncpu)
44+
45+
- name: Verify sems binary
46+
run: |
47+
cd build
48+
./core/sems -v
49+
file ./core/sems
50+
otool -L ./core/sems
51+
52+
- name: Verify shared libraries
53+
run: ls build/apps/*/*.so | head -20
54+
55+
- name: Verify Rust monitoring tools
56+
run: |
57+
for tool in sems-list-calls sems-list-active-calls sems-list-finished-calls sems-get-callproperties; do
58+
echo "OK: ${tool}"
59+
file "apps/monitoring/tools/target/release/${tool}"
60+
done

0 commit comments

Comments
 (0)