name: Celix MacOS on: push: pull_request: schedule: - cron: '0 0 * * *' env: CONAN_USER_HOME: "${{ github.workspace }}/release/" CONAN_USER_HOME_SHORT: "${{ github.workspace }}/release/short" CONAN_HOME: "${{ github.workspace }}/release/" CCACHE_DIR: "${{ github.workspace }}/.ccache" CCACHE_SLOPPINESS: include_file_ctime,include_file_mtime jobs: macos-build-conan: runs-on: macOS-11 timeout-minutes: 120 steps: - name: Checkout source code uses: actions/checkout@v3.3.0 - name: Install conan run: | brew install python ninja pip3 install -U conan==1.59.0 - name: Setup Conan Profile run: | conan profile new default --detect conan profile update settings.build_type=Release default - name: Conan Cache id: cache-conan uses: actions/cache@v3 env: cache-name: cache-conan-modules with: path: ${{ env.CONAN_USER_HOME }} key: ${{ runner.os }}-test-builder-${{ env.cache-name }}-${{ hashFiles('conanfile.py') }} restore-keys: ${{ runner.os }}-test-builder-${{ env.cache-name }}- - name: Prepare ccache timestamp id: ccache_cache_timestamp run: | echo timestamp=`date +"%Y-%m-%d-%H;%M;%S"` >> $GITHUB_OUTPUT - name: ccache Cache uses: actions/cache@v3 with: path: ${{ env.CCACHE_DIR }} key: ${{ runner.os }}-test-ccache-Release-${{ steps.ccache_cache_timestamp.outputs.timestamp }} restore-keys: | ${{ runner.os }}-test-ccache-Release- - name: Install Dependencies env: 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 -o celix:enable_ccache=True 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 default -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 run: | conan build . -bf build - name: Test run: | cd build source conanrun.sh ctest --output-on-failure source deactivate_conanrun.sh macos-build-brew: runs-on: macOS-latest timeout-minutes: 120 steps: - name: Checkout source code uses: actions/checkout@v3.3.0 - name: Install dependencies run: | brew install lcov zeromq czmq cpputest jansson rapidjson libzip ccache - name: Prepare ccache timestamp id: ccache_cache_timestamp run: | echo timestamp=`date +"%Y-%m-%d-%H;%M;%S"` >> $GITHUB_OUTPUT - name: ccache Cache uses: actions/cache@v3 with: path: ${{ env.CCACHE_DIR }} key: ${{ runner.os }}-brew-test-ccache-Release-${{ steps.ccache_cache_timestamp.outputs.timestamp }} restore-keys: | ${{ runner.os }}-brew-test-ccache-Release- - name: Build env: BUILD_OPTIONS: | -DENABLE_TESTING=ON -DENABLE_TESTING_DEPENDENCY_MANAGER_FOR_CXX11=ON -DENABLE_TESTING_FOR_CXX14=ON -DENABLE_ADDRESS_SANITIZER=ON -DENABLE_TESTING_ON_CI=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_CCACHE=ON run: | mkdir build install cd build cmake ${BUILD_OPTIONS} -DCMAKE_INSTALL_PREFIX=../install .. make -j && 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