Skip to content

Dev

Dev #569

Workflow file for this run

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-14, xcode_ver: "15.2", fea_ver: "-DFEA_CPP17=On", fea_tbb: "-DFEA_WITH_TBB=Off" }
- { 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
env:
CC: clang
CXX: clang++
run: |
python --version
pip install -r ${{ github.workspace }}/requirements.txt --upgrade
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_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 --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_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