feat(ci): add macos workflow

Add workflow to assist in maintaining
compatibility with macos.
This commit is contained in:
Ómar Högni Guðmarsson 2025-03-17 14:20:32 +00:00 committed by Julius Pfrommer
parent 9056bbf887
commit 79e47f8983

46
.github/workflows/build_macos.yml vendored Normal file
View File

@ -0,0 +1,46 @@
name: macOS Build & Test
on: [push, pull_request]
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [macos-latest]
build:
- name: "Build default options"
cmake_options:
- name: "Build shared library"
cmake_options: -DBUILD_SHARED_LIBS=ON
- name: "Build amalgamation"
cmake_options: -DUA_ENABLE_AMALGAMATION=ON
- name: "Build with encryption"
cmd_deps: brew install mbedtls
cmake_options: -DUA_ENABLE_ENCRYPTION=MBEDTLS
- name: "Build shared lib with INLINABLE_EXPORT=ON"
cmd_deps: brew install mbedtls
cmake_options: -DBUILD_SHARED_LIBS=ON -DUA_ENABLE_INLINABLE_EXPORT=ON
- name: "Build shared lib with encryption, amalgamation, and INLINEABLE_EXPORT"
cmd_deps: brew install mbedtls
cmake_options: -DBUILD_SHARED_LIBS=ON -DUA_ENABLE_ENCRYPTION=MBEDTLS -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_INLINABLE_EXPORT=ON
name: ${{ matrix.os }}-${{ matrix.build.name }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Dependencies
run: |
${{ matrix.build.cmd_deps }}
- name: ${{ matrix.build.name }}
run: |
rm -rf build
cmake -B build ${{matrix.build.cmake_options}}
cmake --build build -j $(sysctl -n hw.activecpu)