Skip to content

fix(ci): compile on a virtual machine for macOS because why not at th… #419

fix(ci): compile on a virtual machine for macOS because why not at th…

fix(ci): compile on a virtual machine for macOS because why not at th… #419

Workflow file for this run

name: Build & Test
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
# nothing here
jobs:
build-regular:
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release]
os: [windows-latest, ubuntu-latest]
runs-on: ${{matrix.os}}
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up MSVC [Windows]
if: matrix.os == 'windows-latest'
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x64
spectre: true
- name: Install Dependencies [Linux]
if: matrix.os == 'ubuntu-latest'
run: sudo apt update && sudo apt install -y ninja-build
- name: Configure CMake
run: cmake -G "Ninja" -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DSOURCEPP_BUILD_TESTS=ON
- name: Build
run: cmake --build build --config ${{matrix.build_type}}
- name: Test
working-directory: '${{github.workspace}}/build'
run: ctest
build-macos:
strategy:
matrix:
build_type: [Debug, Release]
runs-on: ubuntu-latest
container: ghcr.io/shepherdjerred/macos-cross-compiler:latest@sha256:493c4f2beced5b635a0e2a73d5fd1aba77135cf0fa895a28c286c3b1df722b92
defaults:
run:
shell: bash
steps:
- name: Install Programs
run: |
apt update && apt install -y git cmake curl ninja-build python3
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Configure CMake
run: |
cmake -G "Ninja" -B build -DCMAKE_C_COMPILER="aarch64-apple-darwin22-gcc" -DCMAKE_CXX_COMPILER="aarch64-apple-darwin22-g++" -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DSOURCEPP_BUILD_TESTS=ON
- name: Build
run: cmake --build build --config ${{matrix.build_type}}
- name: Test
working-directory: '${{github.workspace}}/build'
run: ctest