name: macos on: [push, pull_request] permissions: contents: read jobs: build: strategy: matrix: os: [macos-13, macos-14] build_type: [Debug, Release] std: [11, 17, 20] shared: [""] exclude: - { os: macos-13, std: 11 } - { os: macos-13, std: 17 } include: - os: macos-14 std: 23 build_type: Release shared: -DBUILD_SHARED_LIBS=ON runs-on: '${{ matrix.os }}' steps: - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - name: Set timezone run: sudo systemsetup -settimezone 'Asia/Yekaterinburg' - name: Select Xcode 14.3 (macOS 13) run: sudo xcode-select -s "/Applications/Xcode_14.3.app" if: ${{ matrix.os == 'macos-13' }} - name: Create Build Environment run: cmake -E make_directory ${{runner.workspace}}/build - name: Configure working-directory: ${{runner.workspace}}/build run: | cmake -DCMAKE_BUILD_TYPE=${{matrix.build_type}} ${{matrix.shared}} \ -DCMAKE_CXX_STANDARD=${{matrix.std}} \ -DCMAKE_CXX_VISIBILITY_PRESET=hidden -DCMAKE_VISIBILITY_INLINES_HIDDEN=ON \ -DFMT_DOC=OFF -DFMT_PEDANTIC=ON -DFMT_WERROR=ON $GITHUB_WORKSPACE - name: Build working-directory: ${{runner.workspace}}/build run: | threads=`sysctl -n hw.logicalcpu` cmake --build . --config ${{matrix.build_type}} --parallel $threads - name: Test working-directory: ${{runner.workspace}}/build run: ctest -C ${{matrix.build_type}} env: CTEST_OUTPUT_ON_FAILURE: True