Skip to content

Commit

Permalink
Merge branch 'master' into bugfix/iox-#2083-configurable-max-notifiers
Browse files Browse the repository at this point in the history
  • Loading branch information
elBoberido authored Nov 21, 2023
2 parents 252f7f0 + 1ac5726 commit b40502d
Show file tree
Hide file tree
Showing 180 changed files with 2,911 additions and 1,001 deletions.
2 changes: 1 addition & 1 deletion .bazelrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
build --cxxopt="-std=c++14"
build --cxxopt="-std=c++17"

# For using clang
build:clang --action_env=BAZEL_COMPILER=clang
Expand Down
112 changes: 87 additions & 25 deletions .cirrus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,18 @@

---

#
# Filter to run the CI only on the master and release branches or for pull request to the master, release* and iox-* branches
#

only_if: $CIRRUS_BRANCH == 'master'
|| $CIRRUS_BRANCH == 'release*'
|| ($CIRRUS_PR != '' && ($CIRRUS_BASE_BRANCH == 'master'
|| $CIRRUS_BASE_BRANCH == 'release*'
|| $CIRRUS_BASE_BRANCH == 'iox-*'
)
)

#
# Templates
#
Expand All @@ -31,23 +43,41 @@ iox_common_cpu_and_memory_config_for_tests_template: &IOX_COMMON_CPU_AND_MEMORY_

# Build and Test

iox_posix_clean_build_script_template: &IOX_POSIX_CLEAN_BUILD
- echo "#### Deleting build and iox-tests-bin dir"
- if [[ -d "build" ]]; then rm -rf build; fi
- if [[ -d "iox-tests-bin" ]]; then rm -rf iox-tests-vin; fi
- echo "#### Running cmake to configure build"
- cmake -Bbuild -Hiceoryx_meta -DBUILD_STRICT=ON -DBINDING_C=ON -DINTROSPECTION=ON -DEXAMPLES=ON -DBUILD_TEST=ON -DCMAKE_INSTALL_PREFIX=build/install
- echo "#### Running cmake to build with CIRRUS_CPU = " $CIRRUS_CPU
- cmake --build build --target install -j $CIRRUS_CPU

iox_posix_clean_build_with_additional_user_template: &IOX_POSIX_CLEAN_BUILD_WITH_ADDITIONAL_USER
- echo "#### Deleting build and iox-tests-bin dir"
- if [[ -d "build" ]]; then rm -rf build; fi
- if [[ -d "iox-tests-bin" ]]; then rm -rf iox-tests-vin; fi
- echo "#### Running cmake to configure build"
- cmake -Bbuild -Hiceoryx_meta -DBUILD_STRICT=ON -DBINDING_C=ON -DINTROSPECTION=ON -DEXAMPLES=ON -DBUILD_TEST=ON -DTEST_ADD_USER=ON -DCMAKE_INSTALL_PREFIX=build/install
- echo "#### Running cmake to build with CIRRUS_CPU = " $CIRRUS_CPU
- cmake --build build --target install -j $CIRRUS_CPU
iox_posix_pre_cmake_config_script_template: &IOX_POSIX_PRE_CMAKE_CONFIG
echo "#### Deleting build and iox-tests-bin dir"
&& if [[ -d "build" ]]; then rm -rf build; fi
&& if [[ -d "iox-tests-bin" ]]; then rm -rf iox-tests-vin; fi

iox_posix_post_cmake_config_script_template: &IOX_POSIX_POST_CMAKE_CONFIG
echo "#### Running cmake to build with CIRRUS_CPU = " $CIRRUS_CPU
&& cmake --build build --target install -j $CIRRUS_CPU

iox_posix_cmake_config_strict_with_no_additional_user_script_template: &IOX_POSIX_CMAKE_CONFIG_STRICT_WITH_NO_ADDITIONAL_USER
echo "#### Running cmake to configure build"
&& cmake -Bbuild -Hiceoryx_meta -DBUILD_STRICT=ON -DBINDING_C=ON -DINTROSPECTION=ON -DEXAMPLES=ON -DBUILD_TEST=ON -DTEST_ADD_USER=OFF -DCMAKE_INSTALL_PREFIX=build/install

iox_posix_cmake_config_strict_with_additional_user_script_template: &IOX_POSIX_CMAKE_CONFIG_STRICT_WITH_ADDITIONAL_USER
echo "#### Running cmake to configure build"
&& cmake -Bbuild -Hiceoryx_meta -DBUILD_STRICT=ON -DBINDING_C=ON -DINTROSPECTION=ON -DEXAMPLES=ON -DBUILD_TEST=ON -DTEST_ADD_USER=ON -DCMAKE_INSTALL_PREFIX=build/install

iox_posix_cmake_config_no_strict_with_additional_user_script_template: &IOX_POSIX_CMAKE_CONFIG_NO_STRICT_WITH_ADDITIONAL_USER
echo "#### Running cmake to configure build"
&& cmake -Bbuild -Hiceoryx_meta -DBUILD_STRICT=OFF -DBINDING_C=ON -DINTROSPECTION=ON -DEXAMPLES=ON -DBUILD_TEST=ON -DTEST_ADD_USER=ON -DCMAKE_INSTALL_PREFIX=build/install

iox_posix_clean_build_strict_with_no_additional_user_template: &IOX_POSIX_CLEAN_BUILD_STRICT_WITH_NO_ADDITIONAL_USER
- *IOX_POSIX_PRE_CMAKE_CONFIG
- *IOX_POSIX_CMAKE_CONFIG_STRICT_WITH_NO_ADDITIONAL_USER
- *IOX_POSIX_POST_CMAKE_CONFIG

iox_posix_clean_build_strict_with_additional_user_template: &IOX_POSIX_CLEAN_BUILD_STRICT_WITH_ADDITIONAL_USER
- *IOX_POSIX_PRE_CMAKE_CONFIG
- *IOX_POSIX_CMAKE_CONFIG_STRICT_WITH_ADDITIONAL_USER
- *IOX_POSIX_POST_CMAKE_CONFIG

iox_posix_clean_build_no_strict_with_additional_user_template: &IOX_POSIX_CLEAN_BUILD_NO_STRICT_WITH_ADDITIONAL_USER
- *IOX_POSIX_PRE_CMAKE_CONFIG
- *IOX_POSIX_CMAKE_CONFIG_NO_STRICT_WITH_ADDITIONAL_USER
- *IOX_POSIX_POST_CMAKE_CONFIG

iox_prepare_test_binaries_for_cache_template: &IOX_PREPARE_TEST_BINARIES_FOR_CACHE
- mkdir -p iox-tests-bin
Expand Down Expand Up @@ -101,7 +131,7 @@ ubuntu_22_04_aarch64_build_task:
reupload_on_changes: true
fingerprint_key: $CIRRUS_OS_ubuntu_22_04_aarch64_test_binaries_cache
build_script:
<<: *IOX_POSIX_CLEAN_BUILD_WITH_ADDITIONAL_USER
<<: *IOX_POSIX_CLEAN_BUILD_STRICT_WITH_ADDITIONAL_USER
populate_test_binary_folder_script:
<<: *IOX_PREPARE_TEST_BINARIES_FOR_CACHE

Expand All @@ -118,6 +148,42 @@ ubuntu_22_04_aarch64_test_task:
test_script:
<<: *IOX_RUN_TESTS

#
# Arch Linux x64 gcc 8.3 aka QNX canary build
#

arch_linux_x64_gcc_8_3_aka_qnx_canary_build_task:
depends_on: preflight_check
container:
dockerfile: tools/ci/docker/archlinux-base-devel
<<: *IOX_COMMON_CPU_AND_MEMORY_CONFIG_FOR_BUILDS
<<: *IOX_TASK_TIMEOUT
test_binaries_cache:
folder: iox-tests-bin
reupload_on_changes: true
fingerprint_key: $CIRRUS_OS_archlinux_x64_gcc_8_3_aka_qnx_canary_test_binaries_cache
env:
# use GCC 8.3 which corresponds to QCC 8.3 on QNX 7.1
CC: gcc-8
CXX: g++-8
build_script:
<<: *IOX_POSIX_CLEAN_BUILD_STRICT_WITH_ADDITIONAL_USER
populate_test_binary_folder_script:
<<: *IOX_PREPARE_TEST_BINARIES_FOR_CACHE

arch_linux_x64_gcc_8_3_aka_qnx_canary_test_task:
depends_on: arch_linux_x64_gcc_8_3_aka_qnx_canary_build
container:
dockerfile: tools/ci/docker/archlinux-base-devel
<<: *IOX_COMMON_CPU_AND_MEMORY_CONFIG_FOR_TESTS
<<: *IOX_TASK_TIMEOUT
test_binaries_cache:
folder: iox-tests-bin
reupload_on_changes: false
fingerprint_key: $CIRRUS_OS_archlinux_x64_gcc_8_3_aka_qnx_canary_test_binaries_cache
test_script:
<<: *IOX_RUN_TESTS

#
# Arch Linux x64
#
Expand All @@ -132,12 +198,8 @@ arch_linux_x64_build_task:
folder: iox-tests-bin
reupload_on_changes: true
fingerprint_key: $CIRRUS_OS_archlinux_x64_test_binaries_cache
env:
# use clang on Arch Linux since GCC triggers some compiler warnings which abort the job
CC: clang
CXX: clang++
build_script:
<<: *IOX_POSIX_CLEAN_BUILD_WITH_ADDITIONAL_USER
<<: *IOX_POSIX_CLEAN_BUILD_STRICT_WITH_ADDITIONAL_USER
populate_test_binary_folder_script:
<<: *IOX_PREPARE_TEST_BINARIES_FOR_CACHE

Expand Down Expand Up @@ -172,7 +234,7 @@ freebsd_x64_build_task:
- pkg install -y cmake git ncurses bash wget
- ln -s /usr/local/bin/bash /bin/bash
build_script:
<<: *IOX_POSIX_CLEAN_BUILD
<<: *IOX_POSIX_CLEAN_BUILD_STRICT_WITH_NO_ADDITIONAL_USER
populate_test_binary_folder_script:
<<: *IOX_PREPARE_TEST_BINARIES_FOR_CACHE

Expand Down Expand Up @@ -206,7 +268,7 @@ macos_aarch64_build_task:
setup_script:
- brew install ncurses
build_script:
<<: *IOX_POSIX_CLEAN_BUILD
<<: *IOX_POSIX_CLEAN_BUILD_STRICT_WITH_NO_ADDITIONAL_USER
populate_test_binary_folder_script:
<<: *IOX_PREPARE_TEST_BINARIES_FOR_CACHE

Expand Down
2 changes: 1 addition & 1 deletion .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ hicpp-*,
# void bar(Foo& foo) {...}
#
# * rule: readability-use-anyofallof
# justification: requires C++20 and std::ranges but we only use C++14
# justification: requires C++20 and std::ranges but we only use C++17
#
# * rule: cppcoreguidelines-non-private-member-variables-in-classes
# justification: Sometimes it makes sense to have protected members to extend the base class.
Expand Down
1 change: 1 addition & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
## Pre-Review Checklist for the PR Author

1. [ ] Add a second reviewer for complex new features or larger refactorings
1. [ ] Code follows the coding style of [CONTRIBUTING.md][contributing]
1. [ ] Tests follow the [best practice for testing][testing]
1. [ ] Changelog updated [in the unreleased section][changelog] including API breaking changes
Expand Down
25 changes: 25 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,31 @@ jobs:
- run: ./tools/scripts/check_invalid_characters.sh
- run: ./tools/ci/cmake-linter.sh

check-status-of-nightly-action:
runs-on: ubuntu-latest
needs: pre-flight-check
steps:
- name: Install dependencies
run: |
sudo apt update
sudo apt install -y jq
- name: Check nightly action status
run: |
COLOR_OFF='\033[0m'
COLOR_RED='\033[1;31m'
COLOR_GREEN='\033[1;32m'
COLOR_YELLOW='\033[1;33m'
LAST_RUN_STATUS=$(curl -s "https://api.github.com/repos/eclipse-iceoryx/iceoryx/actions/workflows/nightly.yml/runs" | jq -r '.workflow_runs[0].conclusion')
if [[ "${LAST_RUN_STATUS}" == "success" ]]; then
echo -e "Last nightly run status: ${COLOR_GREEN}${LAST_RUN_STATUS}${COLOR_OFF}"
else
echo -e "Last nightly run status: ${COLOR_RED}${LAST_RUN_STATUS}${COLOR_OFF}"
echo -e "${COLOR_RED}Error! The nightly workflow failed on the last run. Please check and fix the nightly workflow before merging this PR.${COLOR_OFF}"
echo -e "${COLOR_YELLOW}You can trigger the nightly workflow manually from 'https://github.com/eclipse-iceoryx/iceoryx/actions/workflows/nightly.yml'.${COLOR_OFF}"
echo -e "${COLOR_YELLOW}Just look for the 'Run workflow' button. The branch where the workflow shall run can also be selected.${COLOR_OFF}"
exit 1
fi
build-test-ubuntu:
# prevent stuck jobs consuming runners for 6 hours
timeout-minutes: 60
Expand Down
1 change: 1 addition & 0 deletions .lycheeignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
https://github.com/eclipse-iceoryx/iceoryx/compare/vx.x.x...vx.x.x
https://github.com/eclipse-iceoryx/iceoryx/tree/vx.x.x
https://www.misra.org.uk/

[email protected]
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ codebase follows these rules, things are work in progress.
without heap)
2) **No exceptions are allowed**, all function and methods need to have `noexcept` in their signature
3) **No undefined behavior**, zero-cost abstract is not feasible in high safety environments
4) **Use C++14**
4) **Use C++17**
5) **[Rule of Five](https://en.cppreference.com/w/cpp/language/rule_of_three)**, if there is a non-default
destructor needed, the rule of five has to be applied
6) **Keep the [STL](https://en.wikipedia.org/wiki/Standard_Template_Library) dependencies to a minimum**,
Expand Down
6 changes: 3 additions & 3 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ An up to date list of the maintainers can be found at the [Eclipse project page]

## Monthly meetup

The developer meetup is held monthly on the first Thursday from 17:00 - 18:00 CET. Everyone is welcome to join.
The developer meetup is held monthly on the first Tuesday from 17:00 - 18:00 CET. Everyone is welcome to join.

You can join by using this Zoom link: https://eclipse.zoom.us/j/95918504483?pwd=RWM5Y1pkeStKVDZsU09EY1hnclREUT09
You can join by using this link: https://app.element.io/jitsi.html#conferenceDomain=meet.element.io&conferenceId=JitsiVtfrqukadefbqiqfxryxabai&userId=&roomId=!AooDAAwkyNWwkMElpt%3Agitter.im&roomName=eclipse%2Ficeoryx&startWithAudioMuted=true&startWithVideoMuted=true&language=en

For a calendar event, you can subscribe to the [ROS calendar](https://calendar.google.com/calendar/u/0/[email protected]&ctz=America/Los_Angeles).

Expand Down Expand Up @@ -49,7 +49,7 @@ If you have points that you want to discuss, please send your points to the [mai
**Time:** 17:00 CET
**Link:** https://eclipse.zoom.us/j/95918504483?pwd=RWM5Y1pkeStKVDZsU09EY1hnclREUT09
**Link:** https://app.element.io/jitsi.html#conferenceDomain=meet.element.io&conferenceId=JitsiVtfrqukadefbqiqfxryxabai&userId=&roomId=!AooDAAwkyNWwkMElpt%3Agitter.im&roomName=eclipse%2Ficeoryx&startWithAudioMuted=true&startWithVideoMuted=true&language=en
## Attendees
Expand Down
18 changes: 0 additions & 18 deletions cmake/googletest/0001-remove-werror-from-build-flags.patch

This file was deleted.

11 changes: 0 additions & 11 deletions cmake/googletest/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -76,17 +76,6 @@ if(BUILD_TEST AND NOT GTest_DIR)

file(MAKE_DIRECTORY ${BUILD_DIR})

if(NOT WIN32)
execute_process(
COMMAND git apply -p1 --ignore-space-change --whitespace=nowarn
INPUT_FILE "${CMAKE_CURRENT_LIST_DIR}/0001-remove-werror-from-build-flags.patch"
WORKING_DIRECTORY "${SOURCE_DIR}"
RESULT_VARIABLE result)
if(result)
message(WARNING "CMake step [patch] for googletest failed: ${result}! Build of gtest might fail")
endif()
endif()

execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" ${GTEST_BUILD_ARGS} "${SOURCE_DIR}"
RESULT_VARIABLE result
WORKING_DIRECTORY ${BUILD_DIR} )
Expand Down
2 changes: 1 addition & 1 deletion cmake/googletest/googletest.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ project(googletest-download NONE)
include(ExternalProject)
ExternalProject_Add(googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG release-1.10.0
GIT_TAG v1.14.0
SOURCE_DIR "${CMAKE_BINARY_DIR}/dependencies/googletest/src"
BINARY_DIR "${CMAKE_BINARY_DIR}/dependencies/googletest/build"
CONFIGURE_COMMAND ""
Expand Down
6 changes: 3 additions & 3 deletions doc/design/logging.md
Original file line number Diff line number Diff line change
Expand Up @@ -360,9 +360,9 @@ class MyLogger : public iox::log::Logger

private:
void createLogMessageHeader(
const char* file IOX_MAYBE_UNUSED,
const int line IOX_MAYBE_UNUSED,
const char* function IOX_MAYBE_UNUSED,
const char* file [[maybe_unused]],
const int line [[maybe_unused]],
const char* function [[maybe_unused]],
iox::log::LogLevel logLevel) noexcept override
{
switch(logLevel) {
Expand Down
Loading

0 comments on commit b40502d

Please sign in to comment.