Feature/483 Conan 2 Support #2474
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: 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 |