ci: CMake test package workflow added

This commit is contained in:
Mateusz Pusz
2020-12-17 23:06:52 +01:00
parent 206712f046
commit cfcf26c3a7

View File

@@ -68,41 +68,45 @@ jobs:
conan remote add upload ${{ secrets.CONAN_UPLOAD }} conan remote add upload ${{ secrets.CONAN_UPLOAD }}
install: install:
name: mp-units installation
needs: setup needs: setup
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
build_type: [ "Release", "Debug" ]
name: mp-units installation (${{ matrix.build_type }})
steps: steps:
- name: Install Conan dependencies - name: Install Conan dependencies
run: | run: |
mkdir build && cd build mkdir -p build/${{ matrix.build_type }} && cd build/${{ matrix.build_type }}
conan install .. -s compiler.cppstd=20 -s compiler.libcxx=libstdc++11 -s build_type=Release -b outdated -u conan install ../.. -s compiler.cppstd=20 -s compiler.libcxx=libstdc++11 -s build_type=${{ matrix.build_type }} -b outdated -u
conan install .. -s compiler.cppstd=20 -s compiler.libcxx=libstdc++11 -s build_type=Debug -b outdated -u
- name: Configure CMake - name: Configure CMake
run: | run: |
cd build cd build/${{ matrix.build_type }}
cmake ../src -G "Ninja Multi-Config" -DCMAKE_TOOLCHAIN_FILE=conan_paths.cmake cmake ../../src -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_TOOLCHAIN_FILE=conan_paths.cmake
- name: Install - name: Install
run: | run: |
cd build cd build/${{ matrix.build_type }}
cmake --install . --prefix test_package --config Release cmake --install . --prefix test_package
cmake --install . --prefix test_package --config Debug
test_package: test_package:
name: Testing CMake package
needs: install needs: install
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
build_type: [ "Release", "Debug" ]
name: Testing CMake package (${{ matrix.build_type }})
steps: steps:
- name: Configure CMake - name: Configure CMake
run: | run: |
mkdir test_package/build && cd test_package/build mkdir -p test_package/build/${{ matrix.build_type }} && cd test_package/build/${{ matrix.build_type }}
cmake .. -G "Ninja Multi-Config" -DCMAKE_INSTALL_PREFIX=../../build/test_package -DCMAKE_TOOLCHAIN_FILE=../../build/conan_paths.cmake cmake ../.. -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_INSTALL_PREFIX=../../../build/${{ matrix.build_type }}/test_package -DCMAKE_TOOLCHAIN_FILE=../../../build/${{ matrix.build_type }}/conan_paths.cmake
- name: Build and run Release - name: Build
run: | run: |
cd test_package/build cd test_package/build/${{ matrix.build_type }}
cmake --build . --config Release cmake --build .
./Release/test_package - name: Run
- name: Build and run Debug
run: | run: |
cd test_package/build cd test_package/build/${{ matrix.build_type }}
cmake --build . --config Debug ./test_package
./Debug/test_package