diff --git a/.github/workflows/macOS.yml b/.github/workflows/macOS.yml index fced56cd..4ca77246 100644 --- a/.github/workflows/macOS.yml +++ b/.github/workflows/macOS.yml @@ -11,13 +11,13 @@ concurrency: cancel-in-progress: true jobs: - macos-11: - name: macos-11 xcode-${{ matrix.xcode }} (c++${{ matrix.standard }}) - runs-on: macos-11 + macos-12: + runs-on: macos-12 + name: macos-12 xcode-${{ matrix.xcode }} (c++${{ matrix.standard }}) strategy: fail-fast: false matrix: - xcode: [ '11.7', '12.4', '12.5.1', '13.0' ] + xcode: [ '13.1', '13.2.1', '13.3.1', '13.4.1' ] standard: [ 11, 14, 17, 20 ] env: DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer @@ -46,14 +46,14 @@ jobs: run: ctest --test-dir ${{ env.CMAKE_BINARY_PREFIX }} -C ${{ env.CMAKE_BUILD_TYPE }} --output-on-failure - name: ๐ŸŽ‰ Install run: cmake --install ${{ env.CMAKE_BINARY_PREFIX }} --prefix ${{ env.CMAKE_INSTALL_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }} - - macos-12: - runs-on: macos-12 - name: macos-12 xcode-${{ matrix.xcode }} (c++${{ matrix.standard }}) + + macos-13: + name: macos-13 xcode-${{ matrix.xcode }} (c++${{ matrix.standard }}) + runs-on: macos-13 strategy: fail-fast: false matrix: - xcode: [ '13.1', '13.2.1', '13.3.1', '13.4.1' ] + xcode: [ '14.1', '14.2', '14.3.1', '15.0.1', '15.1', '15.2' ] standard: [ 11, 14, 17, 20 ] env: DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer @@ -83,13 +83,48 @@ jobs: - name: ๐ŸŽ‰ Install run: cmake --install ${{ env.CMAKE_BINARY_PREFIX }} --prefix ${{ env.CMAKE_INSTALL_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }} + macos-14: + name: macos-14 xcode-${{ matrix.xcode }} (c++${{ matrix.standard }}) + runs-on: macos-14 + strategy: + fail-fast: false + matrix: + xcode: [ '14.3.1', '15.0.1', '15.1', '15.2', '15.3', '15.4', '16.0' ] + standard: [ 11, 14, 17, 20 ] + env: + DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer + + steps: + - uses: ammaraskar/gcc-problem-matcher@master + - name: ๐Ÿ“ฅ Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: โฌ‡๏ธ Setup CMake + uses: lukka/get-cmake@latest + with: + cmakeVersion: ^3 + ninjaVersion: ^1.11.1 + - name: ๐Ÿ“‚ Load .env file + if: hashFiles('.github/workflows/.env') != '' + uses: xom9ikk/dotenv@v2 + with: + path: .github/workflows + - name: ๐Ÿ”ง Configure + run: cmake -S ${{ env.CMAKE_SOURCE_PREFIX }} -B ${{ env.CMAKE_BINARY_PREFIX }} -D CMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} -D CMAKE_CXX_STANDARD=${{ matrix.standard }} -D CMAKE_INSTALL_PREFIX=${{ env.CMAKE_INSTALL_PREFIX }} -D CPPTERMINAL_ENABLE_DOCS=OFF + - name: โš™๏ธ Build + run: cmake --build ${{ env.CMAKE_BINARY_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }} --parallel ${{ env.CMAKE_NUMBER_JOBS }} + - name: ๐Ÿงช Test + run: ctest --test-dir ${{ env.CMAKE_BINARY_PREFIX }} -C ${{ env.CMAKE_BUILD_TYPE }} --output-on-failure + - name: ๐ŸŽ‰ Install + run: cmake --install ${{ env.CMAKE_BINARY_PREFIX }} --prefix ${{ env.CMAKE_INSTALL_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }} gcc: - runs-on: macos-11 - name: macos-11 gcc-${{ matrix.version }} (c++${{ matrix.standard }}) + runs-on: macos-14 + name: macos-14 gcc-${{ matrix.version }} (c++${{ matrix.standard }}) strategy: fail-fast: false matrix: - version: [ 10, 11, 12 ] + version: [ 11, 12, 13, 14 ] standard: [ 11, 14, 17, 20 ] steps: