[RFC] Scope-based Resource Management for Celix #2329
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: | |
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/checkout@v3.3.0 | |
- 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 compatiblity 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 compatiblity 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 | |
run: | | |
#force require libcurl 7.64.1, due to a sha256 verify issue in libcurl/7.87.0 | |
conan install . celix/ci -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 --configure | |
conan build . -bf build --build | |
- name: Test | |
run: | | |
cd build | |
source activate_run.sh | |
ctest --output-on-failure | |
source deactivate_run.sh | |
build-apt: | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 120 | |
steps: | |
- name: Checkout source code | |
uses: actions/checkout@v3.3.0 | |
- 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 | |
-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 |