From 123bc6233466f3422102249582fcf110162e26fc Mon Sep 17 00:00:00 2001 From: Mathias Kraus Date: Thu, 7 Sep 2023 21:31:14 +0200 Subject: [PATCH] iox-#2011 Remove GCC 5.4 from CI and document GCC 8.3 as minimal version --- .github/workflows/build-test.yml | 11 +--- doc/website/getting-started/installation.md | 8 +-- .../release-notes/iceoryx-unreleased.md | 4 ++ tools/ci/build-test-ubuntu-with-gcc5.sh | 54 ------------------- 4 files changed, 9 insertions(+), 68 deletions(-) delete mode 100755 tools/ci/build-test-ubuntu-with-gcc5.sh diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 4c38844658..b9988093ab 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -32,6 +32,7 @@ jobs: - uses: actions/checkout@v3 - uses: egor-tensin/setup-gcc@v1.3 with: + # gcc 8.3 is compiler used in QNX 7.1 version: 8 platform: x64 - uses: jwlawson/actions-setup-cmake@v1.13 @@ -132,16 +133,6 @@ jobs: - name: Run Thread Sanitizer run: ./tools/ci/build-test-ubuntu-with-sanitizers.sh clang tsan - # gcc 5.4 is compiler used in QNX 7.0 - build-test-ubuntu-with-gcc5: - # prevent stuck jobs consuming runners for 6 hours - timeout-minutes: 60 - runs-on: ubuntu-latest - needs: pre-flight-check - steps: - - uses: actions/checkout@v3 - - run: ./tools/ci/build-test-ubuntu-with-gcc5.sh - # Bazel sanity check build-test-ubuntu-bazel: # prevent stuck jobs consuming runners for 6 hours diff --git a/doc/website/getting-started/installation.md b/doc/website/getting-started/installation.md index f548196fd4..29fc5fa1c1 100644 --- a/doc/website/getting-started/installation.md +++ b/doc/website/getting-started/installation.md @@ -9,7 +9,7 @@ All iceoryx libraries are deployed as independent CMake packages. Posh is using - 64-bit hardware (e.g. x86_64 or aarch64; 32-bit hardware might work, but is not supported) - [CMake](https://cmake.org), 3.16 or later - One of the following compilers: - - [GCC](https://gcc.gnu.org), 8.3 or later (5.4 currently supported too) + - [GCC](https://gcc.gnu.org), 8.3 or later - [Clang](https://clang.llvm.org), 9.0 or later - [MSVC](https://visualstudio.microsoft.com/de/), part of Visual Studio 2019 or later - [libacl](http://download.savannah.gnu.org/releases/acl/), 2.2 or later. Only for Linux & QNX. @@ -35,7 +35,7 @@ make install ### Linux -Although we strive to be fully POSIX-compliant, we recommend using Ubuntu 18.04 and at least GCC 7.5.0 for development. +Although we strive to be fully POSIX-compliant, we recommend using Ubuntu 20.04 and at least GCC 8.3 for development. You will need to install the following packages: @@ -47,7 +47,7 @@ Additionally, there is an optional dependency to the [cpptoml](https://github.co ### QNX -QNX SDP 7.0 and 7.1 are supported (shipping with gcc 5.4 and gcc 8.3 respectively). +QNX SDP 7.1 is supported (shipping with gcc 8.3 respectively). The easiest way to build iceoryx on QNX is by using the build script and providing a toolchain file. We provide generic QNX SDP 7.0 toolchain files for ARM_64 and X86_64 in `./tools/toolchains/qnx` ([Direct Link](../../../tools/toolchains/qnx)). @@ -118,7 +118,7 @@ The `CMakeLists.txt` from `iceoryx_meta` can be used to easily develop iceoryx w ``` If the compilation fails, it is possible that the compilation failure originates - inside the Windows SDK and is not caused by iceoryx, see + inside the Windows SDK and is not caused by iceoryx, see [Windows vcpkg-issue \#15035](https://github.com/microsoft/vcpkg/issues/15035#issuecomment-742427969.) In this case try to rebuild the cmake files with: ```bash diff --git a/doc/website/release-notes/iceoryx-unreleased.md b/doc/website/release-notes/iceoryx-unreleased.md index ca1206f089..98eab2f754 100644 --- a/doc/website/release-notes/iceoryx-unreleased.md +++ b/doc/website/release-notes/iceoryx-unreleased.md @@ -4,6 +4,10 @@ [Full Changelog](https://github.com/eclipse-iceoryx/iceoryx/compare/vx.x.x...vx.x.x) +**Notes** + +- The minimal supported GCC compiler is now 8.3 + **Features:** - Add bazel asan, usan, tsan build config [#1547](https://github.com/eclipse-iceoryx/iceoryx/issues/1547) diff --git a/tools/ci/build-test-ubuntu-with-gcc5.sh b/tools/ci/build-test-ubuntu-with-gcc5.sh deleted file mode 100755 index bc6d850028..0000000000 --- a/tools/ci/build-test-ubuntu-with-gcc5.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/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 - -msg() { - printf "\033[1;32m%s: %s\033[0m\n" "${FUNCNAME[1]}" "$1" -} - -WORKSPACE=$(git rev-parse --show-toplevel) -cd "${WORKSPACE}" - -sudo touch /etc/apt/sources.list.d/ubuntu_bionic.list - -sudo echo "\ -deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ bionic main universe\ -" | sudo tee /etc/apt/sources.list.d/ubuntu_bionic.list; - -sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32 - -msg "installing build dependencies" -sudo apt-get update && sudo apt-get install -y libacl1-dev libncurses5-dev gcc-5 g++-5 - -msg "creating local test users and groups for testing access control" -sudo ./tools/scripts/add_test_users.sh - -msg "compiler versions: -$(gcc-5 --version)" - -msg "building sources" -export CC=gcc-5 -export CXX=g++-5 -./tools/iceoryx_build_test.sh clean build-all out-of-tree test-add-user - -msg "running all tests" -cd ./build -./tools/run_tests.sh all -cd -