Dev #563
Workflow file for this run
This file contains 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_tbb: "-DFEA_WITH_ONETBB=On" } | |
- { toolset_ver: "v143", fea_ver: "-DFEA_CPP17=On", fea_tbb: "-DFEA_WITH_ONETBB=On" } | |
- { toolset_ver: "v143", fea_ver: "-DFEA_CPP20=On", fea_tbb: "-DFEA_WITH_TBB=On" } | |
- { toolset_ver: "v143", fea_ver: "-DFEA_CPP17=On", fea_tbb: "-DFEA_WITH_TBB=On" } | |
- { toolset_ver: "v143", fea_ver: "-DFEA_CPP20=On", fea_tbb: "-DFEA_WITH_TBB=Off" } | |
- { toolset_ver: "v143", fea_ver: "-DFEA_CPP17=On", fea_tbb: "-DFEA_WITH_TBB=Off" } | |
- { toolset_ver: "v142", fea_ver: "-DFEA_CPP20=On", fea_tbb: "-DFEA_WITH_TBB=On" } | |
- { toolset_ver: "v142", fea_ver: "-DFEA_CPP17=On", fea_tbb: "-DFEA_WITH_TBB=On" } | |
# - { toolset_ver: "v141", fea_ver: "-DFEA_CPP17=On" } | |
# v140 isn't supported (c++11 only) | |
steps: | |
- name: Git Line Endings | |
run: | | |
git config --global core.autocrlf false | |
- uses: actions/checkout@v2 | |
- name: Install Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.11' | |
architecture: 'x64' # optional, x86 | |
- name: Install Conan | |
run: | | |
python --version | |
pip install -r ${{ github.workspace }}/requirements.txt --upgrade | |
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_tbb }} | |
- name: Build | |
run: | | |
cd ${{ github.workspace }}/build | |
cmake --build . --config ${{ matrix.build_type }} | |
- name: Test | |
# working-directory: ${{ github.workspace }}/build | |
shell: cmd | |
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 | |
Clang: | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: true | |
matrix: | |
build_type: [Release, Debug] | |
config: | |
- { os: macos-14, xcode_ver: "15.2", fea_ver: "-DFEA_CPP17=On", fea_tbb: "-DFEA_WITH_ONETBB=On" } | |
- { os: macos-13, xcode_ver: "15.0.1", fea_ver: "-DFEA_CPP17=On", fea_tbb: "-DFEA_WITH_TBB=Off" } | |
- { os: macos-13, xcode_ver: "14.3.1", fea_ver: "-DFEA_CPP17=On", fea_tbb: "-DFEA_WITH_TBB=Off" } | |
- { os: macos-12, xcode_ver: "13.2.1", fea_ver: "-DFEA_CPP17=On", fea_tbb: "-DFEA_WITH_TBB=Off" } | |
steps: | |
- name: Git Line Endings | |
run: | | |
git config --global core.autocrlf false | |
- uses: actions/checkout@v2 | |
- 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@v2 | |
with: | |
python-version: '3.11' | |
architecture: 'x64' # optional, x86 | |
- name: Install Conan | |
run: | | |
python --version | |
pip install -r ${{ github.workspace }}/requirements.txt --upgrade | |
conan user | |
conan --version | |
conan profile new default --detect | |
conan config install ${{ github.workspace }}/.github/settings.yml | |
- name: Configure | |
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_tbb }} | |
- 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-22.04, gcc_ver: "13", fea_ver: "-DFEA_CPP20=On", fea_tbb: "-DFEA_WITH_ONETBB=On" } # tbb doesn't compile | |
- { os: ubuntu-22.04, gcc_ver: "13", fea_ver: "-DFEA_CPP17=On", fea_tbb: "-DFEA_WITH_ONETBB=On" } | |
- { os: ubuntu-22.04, gcc_ver: "13", fea_ver: "-DFEA_CPP20=On", fea_tbb: "-DFEA_WITH_TBB=Off" } | |
- { os: ubuntu-22.04, gcc_ver: "13", fea_ver: "-DFEA_CPP17=On", fea_tbb: "-DFEA_WITH_TBB=Off" } | |
- { os: ubuntu-22.04, gcc_ver: "12", fea_ver: "-DFEA_CPP17=On", fea_tbb: "-DFEA_WITH_TBB=On" } | |
- { os: ubuntu-20.04, gcc_ver: "10", fea_ver: "-DFEA_CPP17=On", fea_tbb: "-DFEA_WITH_TBB=On" } | |
- { os: ubuntu-20.04, gcc_ver: "9", fea_ver: "-DFEA_CPP17=On", fea_tbb: "-DFEA_WITH_TBB=On" } | |
steps: | |
- name: Git Line Endings | |
run: | | |
git config --global core.autocrlf false | |
- uses: actions/checkout@v2 | |
- 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@v2 | |
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 -r ${{ github.workspace }}/requirements.txt --upgrade | |
conan user | |
conan --version | |
conan profile new default --detect | |
conan profile update settings.compiler.libcxx=libstdc++11 default | |
- 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_tbb }} | |
- 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 |