name: Build And Test on: push: branches: [ main ] pull_request: branches: [ main ] jobs: build-and-test: name: Build & Test (${{ matrix.os }}) runs-on: ${{ matrix.os }} continue-on-error: true strategy: matrix: os: [ windows-2022, ubuntu-22.04, macos-13 ] include: - os: windows-2022 configureType: windows-msvc - os: ubuntu-22.04 configureType: linux-gnu - os: macos-13 configureType: macos steps: - uses: actions/checkout@v4 with: submodules: true - name: Add msbuild to PATH (Windows only) if: ${{ matrix.os == 'windows-2022' }} uses: microsoft/setup-msbuild@v2 with: vs-version: '[17,18)' msbuild-architecture: x64 - name: Install libssl and switch to XCode 15.2 (Mac Only) if: ${{ matrix.os == 'macos-13' }} run: | brew install openssl@3 sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer - name: cmake uses: lukka/run-cmake@v10 with: configurePreset: "${{matrix.configureType}}" buildPreset: "ci-${{matrix.os}}" testPreset: "ci-${{matrix.os}}" - name: artifacts uses: actions/upload-artifact@v4 with: name: build-${{matrix.os}} path: | build/*