dev #671
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
| # env: | |
| # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
| # BUILD_TYPE: Release, Debug | |
| jobs: | |
| MSVC: | |
| runs-on: windows-latest | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| build_type: [Release, Debug] | |
| build_arch: [x64, Win32] | |
| config: | |
| - { toolset_ver: "v143", fea_ver: "-DFEA_CPP20=On", fea_cmake_opts: "" } | |
| - { toolset_ver: "v143", fea_ver: "-DFEA_CPP17=On", fea_cmake_opts: "" } | |
| - { toolset_ver: "v143", fea_ver: "-DFEA_CPP20=On", fea_cmake_opts: "-DFEA_WITH_ONETBB=On -DFEA_WITH_DATE=Off" } | |
| - { toolset_ver: "v143", fea_ver: "-DFEA_CPP20=On", fea_cmake_opts: "-DFEA_WITH_TBB=On" } | |
| - { toolset_ver: "v142", fea_ver: "-DFEA_CPP20=On", fea_cmake_opts: "-DFEA_WITH_TBB=On" } | |
| - { toolset_ver: "v142", fea_ver: "-DFEA_CPP17=On", fea_cmake_opts: "-DFEA_WITH_TBB=On" } | |
| steps: | |
| - name: Git Line Endings | |
| run: | | |
| git config --global core.autocrlf false | |
| - uses: actions/checkout@v4 | |
| - name: Install Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| architecture: 'x64' # optional, x86 | |
| - name: Install Conan | |
| run: | | |
| python --version | |
| pip install --upgrade -r ${{ github.workspace }}/requirements.txt | |
| conan --version | |
| - name: Configure | |
| run: | | |
| cd ${{ github.workspace }} | |
| mkdir build | |
| cd build | |
| cmake .. -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -T ${{ matrix.config.toolset_ver }} -A ${{ matrix.build_arch }} ${{ matrix.config.fea_ver }} ${{ matrix.config.fea_cmake_opts }} | |
| - name: Build | |
| run: | | |
| cd ${{ github.workspace }}/build | |
| cmake --build . --config ${{ matrix.build_type }} | |
| - name: Test | |
| # working-directory: ${{ github.workspace }}/build | |
| # shell: cmd # broken, doesn't report errors | |
| run: | | |
| cd ${{ github.workspace }}/build | |
| bin\fea_libs_tests | |
| bin\fea_libs_nothrow_tests | |
| - name: TestPipes | |
| # working-directory: ${{ github.workspace }}/build | |
| shell: cmd | |
| run: | | |
| cd ${{ github.workspace }}/build | |
| cat bin\tests_data\pipe.txt | bin\fea_libs_pipe_tests 0 | |
| cat bin\tests_data\pipe.txt | bin\fea_libs_pipe_tests 1 | |
| bin\fea_libs_pipe_tests 0 < "bin\tests_data\pipe.txt" | |
| bin\fea_libs_pipe_tests 1 < "bin\tests_data\pipe.txt" | |
| bin\fea_libs_pipe_tests 2 | |
| Clang: | |
| runs-on: ${{ matrix.config.os }} | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| build_type: [Release, Debug] | |
| config: | |
| - { os: macos-15, xcode_ver: "16.4", fea_ver: "-DFEA_CPP17=On", fea_cmake_opts: "-DFEA_WITH_ONETBB=On" } | |
| - { os: macos-15, xcode_ver: "16.4", fea_ver: "-DFEA_CPP17=On", fea_cmake_opts: "-DFEA_WITH_TBB=Off" } | |
| - { os: macos-15, xcode_ver: "16.4", fea_ver: "-DFEA_CPP17=On", fea_cmake_opts: "-DFEA_WITH_DATE=Off" } | |
| - { os: macos-14, xcode_ver: "15.4", fea_ver: "-DFEA_CPP17=On", fea_cmake_opts: "-DFEA_WITH_TBB=Off" } | |
| - { os: macos-14, xcode_ver: "15.4", fea_ver: "-DFEA_CPP17=On", fea_cmake_opts: "-DFEA_WITH_TBB=Off" } | |
| steps: | |
| - name: Git Line Endings | |
| run: | | |
| git config --global core.autocrlf false | |
| - uses: actions/checkout@v4 | |
| - name: Install XCode ${{ matrix.config.xcode_ver }} | |
| uses: maxim-lobanov/setup-xcode@v1 | |
| with: | |
| xcode-version: "${{ matrix.config.xcode_ver }}" | |
| - name: Install Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| architecture: 'x64' # optional, x86 | |
| - name: Install Conan | |
| env: | |
| CC: clang | |
| CXX: clang++ | |
| run: | | |
| python --version | |
| pip install --upgrade -r ${{ github.workspace }}/requirements.txt | |
| conan --version | |
| - name: Configure | |
| env: | |
| CC: clang | |
| CXX: clang++ | |
| run: | | |
| export SDKROOT=$(xcodebuild -version -sdk macosx Path) | |
| export CPATH="$SDKROOT/usr/include" | |
| cd ${{ github.workspace }} | |
| mkdir build | |
| cd build | |
| cmake .. -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ${{ matrix.config.fea_ver }} ${{ matrix.config.fea_cmake_opts }} | |
| - name: Build | |
| run: | | |
| cd ${{ github.workspace }}/build | |
| cmake --build . --config ${{ matrix.build_type }} | |
| - name: Test | |
| run: | | |
| cd ${{ github.workspace }}/build | |
| ./bin/fea_libs_tests | |
| ./bin/fea_libs_nothrow_tests | |
| cat bin/tests_data/pipe.txt | ./bin/fea_libs_pipe_tests 0 | |
| cat bin/tests_data/pipe.txt | ./bin/fea_libs_pipe_tests 1 | |
| ./bin/fea_libs_pipe_tests 0 < bin/tests_data/pipe.txt | |
| ./bin/fea_libs_pipe_tests 1 < bin/tests_data/pipe.txt | |
| ./bin/fea_libs_pipe_tests 2 | |
| Gcc: | |
| runs-on: ${{ matrix.config.os }} | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| build_type: [Release, Debug] | |
| # build_arch: [x64, x86] | |
| config: | |
| - { os: ubuntu-24.04, gcc_ver: "13", fea_ver: "-DFEA_CPP20=On", fea_cmake_opts: "" } | |
| - { os: ubuntu-24.04, gcc_ver: "13", fea_ver: "-DFEA_CPP17=On", fea_cmake_opts: "" } | |
| # tbb doesn't compile, use onetbb | |
| - { os: ubuntu-24.04, gcc_ver: "13", fea_ver: "-DFEA_CPP20=On", fea_cmake_opts: "-DFEA_WITH_ONETBB=On -DFEA_WITH_DATE=Off" } | |
| - { os: ubuntu-24.04, gcc_ver: "12", fea_ver: "-DFEA_CPP17=On", fea_cmake_opts: "-DFEA_WITH_TBB=On" } | |
| - { os: ubuntu-24.04, gcc_ver: "10", fea_ver: "-DFEA_CPP17=On", fea_cmake_opts: "-DFEA_WITH_TBB=On" } | |
| - { os: ubuntu-24.04, gcc_ver: "9", fea_ver: "-DFEA_CPP17=On", fea_cmake_opts: "-DFEA_WITH_TBB=On" } | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Git Line Endings | |
| run: | | |
| git config --global core.autocrlf false | |
| - name: Update apt-get | |
| run: | | |
| sudo apt-get update | |
| - name: Install Gcc | |
| uses: egor-tensin/setup-gcc@v1 | |
| with: | |
| version: ${{ matrix.config.gcc_ver }} | |
| platform: ${{ matrix.build_arch }} | |
| - name: Install Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| architecture: 'x64' # optional, x86 | |
| - name: Install Conan | |
| env: | |
| CC: gcc-${{ matrix.config.gcc_ver }} | |
| CXX: g++-${{ matrix.config.gcc_ver }} | |
| run: | | |
| python --version | |
| pip install --upgrade -r ${{ github.workspace }}/requirements.txt | |
| conan --version | |
| - name: Configure | |
| env: | |
| CC: gcc-${{ matrix.config.gcc_ver }} | |
| CXX: g++-${{ matrix.config.gcc_ver }} | |
| run: | | |
| cd ${{ github.workspace }} | |
| mkdir build | |
| cd build | |
| cmake .. -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ${{ matrix.config.fea_ver }} ${{ matrix.config.fea_cmake_opts }} | |
| - name: Build | |
| run: | | |
| cd ${{ github.workspace }}/build | |
| cmake --build . --config ${{ matrix.build_type }} | |
| - name: Test | |
| run: | | |
| cd ${{ github.workspace }}/build | |
| ./bin/fea_libs_tests | |
| ./bin/fea_libs_nothrow_tests | |
| cat bin/tests_data/pipe.txt | ./bin/fea_libs_pipe_tests 0 | |
| cat bin/tests_data/pipe.txt | ./bin/fea_libs_pipe_tests 1 | |
| ./bin/fea_libs_pipe_tests 0 < bin/tests_data/pipe.txt | |
| ./bin/fea_libs_pipe_tests 1 < bin/tests_data/pipe.txt | |
| ./bin/fea_libs_pipe_tests 2 |