Skip to content

Feature/483 Conan 2 Support #2474

Feature/483 Conan 2 Support

Feature/483 Conan 2 Support #2474

Workflow file for this run

name: Celix Ubuntu
on:
push:
pull_request:
schedule:
- cron: '0 0 * * *'
jobs:
linux-build-conan:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
compiler: [ [gcc,g++], [clang,clang++] ]
type: [ Debug ]
timeout-minutes: 120
steps:
- name: Checkout source code
uses: actions/[email protected]
- name: Install build dependencies
run: |
sudo pip install -U conan==1.59.0
sudo apt-get install -yq --no-install-recommends ninja-build
- name: Setup Conan Profile
env:
CC: ${{ matrix.compiler[0] }}
CXX: ${{ matrix.compiler[1] }}
run: |
# build profile
conan profile new release --detect
conan profile update settings.build_type=Release release
#Note no backwards compatibility for gcc5 needed, setting libcxx to c++11.
conan profile update settings.compiler.libcxx=libstdc++11 release
conan profile show release
# host profile
conan profile new default --detect
conan profile update settings.build_type=${{ matrix.type }} default
#Note no backwards compatibility for gcc5 needed, setting libcxx to c++11.
conan profile update settings.compiler.libcxx=libstdc++11 default
conan profile show default
- name: Configure and install dependencies
env:
CC: ${{ matrix.compiler[0] }}
CXX: ${{ matrix.compiler[1] }}
CONAN_BUILD_OPTIONS: |
-o celix:enable_testing=True
-o celix:enable_address_sanitizer=True
-o celix:build_all=True
-o celix:enable_testing_for_cxx14=True
-o celix:enable_testing_dependency_manager_for_cxx11=True
-o celix:enable_cmake_warning_tests=True
-o celix:enable_testing_on_ci=True
-o celix:framework_curlinit=False
run: |
#force require libcurl 7.64.1, due to a sha256 verify issue in libcurl/7.87.0
conan install . celix/ci -c tools.cmake.cmaketoolchain:generator=Ninja -pr:b release -pr:h default -if build ${CONAN_BUILD_OPTIONS} -b missing -b cpputest --require-override=libcurl/7.64.1 --require-override=openssl/1.1.1s
- name: Build
env:
CC: ${{ matrix.compiler[0] }}
CXX: ${{ matrix.compiler[1] }}
CONAN_CMAKE_GENERATOR: Ninja
run: |
conan build . -bf build
- name: Test
run: |
cd build
source conanrun.sh
ctest --output-on-failure
source deactivate_conanrun.sh
linux-build-apt:
runs-on: ubuntu-22.04
timeout-minutes: 120
steps:
- name: Checkout source code
uses: actions/[email protected]
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -yq --no-install-recommends \
build-essential \
curl \
uuid-dev \
libzip-dev \
libjansson-dev \
libcurl4-openssl-dev \
default-jdk \
cmake \
libffi-dev \
libxml2-dev \
libczmq-dev \
libcpputest-dev \
rapidjson-dev \
libavahi-compat-libdnssd-dev \
libcivetweb-dev \
civetweb
- name: Build
env:
BUILD_OPTIONS: |
-DBUILD_EXPERIMENTAL=ON
-DENABLE_TESTING=ON
-DENABLE_TESTING_DEPENDENCY_MANAGER_FOR_CXX11=ON
-DENABLE_TESTING_FOR_CXX14=ON
-DRSA_JSON_RPC=ON
-DRSA_SHM=ON
-DRSA_REMOTE_SERVICE_ADMIN_SHM_V2=ON
-DSHELL_BONJOUR=ON
-DENABLE_TESTING_ON_CI=ON
-DCMAKE_BUILD_TYPE=Debug
run: |
mkdir build install
cd build
cmake ${BUILD_OPTIONS} -DCMAKE_INSTALL_PREFIX=../install ..
make -j $(nproc) && make install
- name: Test
run: |
cd $GITHUB_WORKSPACE/build
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH:$(pwd)/utils:$(pwd)/framework:$(pwd)/dfi
ctest --output-on-failure