From 864bddaa39c695e65139cdba2f71c5766dcefcf4 Mon Sep 17 00:00:00 2001 From: khromenokroman Date: Wed, 4 Sep 2024 20:55:17 +0200 Subject: [PATCH] iox-#2330 Edit ci script --- .github/workflows/build-test.yml | 5 +- tools/ci/build-test-ubuntu-support-systemd.sh | 69 +++++++++++++++++++ 2 files changed, 70 insertions(+), 4 deletions(-) create mode 100755 tools/ci/build-test-ubuntu-support-systemd.sh diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 8bd6eb5ca2..160df07cfd 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -215,10 +215,7 @@ jobs: uses: actions/checkout@v4 - name: Install iceoryx dependencies and clang-tidy uses: ./.github/actions/install-iceoryx-deps-and-clang - - name: Install libsystemd-dev - run: sudo apt install -y libsystemd-dev - - name: Built project and test - run: ./tools/iceoryx_build_test.sh systemd build-shared build-test + run: ./tools/ci/build-test-ubuntu-support-systemd.sh # - name: Create unit file # run: echo -e "[Unit]\nDescription=Test application roudi\n\n[Service]\nType=notify\nRestartSec=10\nRestart=always\nExecStart=/usr/local/bin/iox-roudi\nTimeoutStartSec=10\nWatchdogSec=5\n\n[Install]\nWantedBy=multi-user.target" | sudo tee /usr/lib/systemd/system/test_iox.service > /dev/null # - name: Show unit diff --git a/tools/ci/build-test-ubuntu-support-systemd.sh b/tools/ci/build-test-ubuntu-support-systemd.sh new file mode 100755 index 0000000000..583e3ed10b --- /dev/null +++ b/tools/ci/build-test-ubuntu-support-systemd.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# Copyright (c) 2021 by Apex.AI Inc. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +# This script builds iceoryx_hoofs und iceoryx_posh and executes all tests + +set -e + +COMPILER=gcc +SANITIZER=asan +BUILD_32BIT="" + +while (( "$#" )); do + case "$1" in + "32-bit-x86") + BUILD_32BIT="32-bit-x86" + shift 1 + ;; + esac +done + +msg() { + printf "\033[1;32m%s: %s\033[0m\n" ${FUNCNAME[1]} "$1" +} + +WORKSPACE=$(git rev-parse --show-toplevel) +cd ${WORKSPACE} + +msg "creating local test users and groups for testing access control" +sudo ./tools/scripts/add_test_users.sh + +msg "Install libsystemd-dev" +sudo apt install -y libsystemd-dev + +msg "compiler versions: +$(gcc --version) +$(clang --version)" + +msg "building sources" +./tools/iceoryx_build_test.sh systemd build-shared build-test + +msg "building debian package" +./tools/iceoryx_build_test.sh package ${BUILD_32BIT} + +# there are tests which open quite a lot of file descriptors simultaneously to exhaust the creation of some resources +# therefore the limits needs to be increased +ulimit -n 2000 +export IOX_RUN_ULIMIT_TESTS=on + +msg "running all tests" +cd ./build +./tools/run_tests.sh all +cd - + +msg "building roudi examples without toml support" +./tools/iceoryx_build_test.sh relwithdebinfo out-of-tree examples toml-config-off systemd clean ${BUILD_32BIT}