diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 7cf2e822e1..7ce1e4b731 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -128,9 +128,15 @@ runs: - name: Install pip packages shell: bash run: | - pip install --upgrade --upgrade-strategy eager -r ./requirements.txt - pip install --upgrade --upgrade-strategy eager -r ./tools/config/mbed_requirements.txt - pip install --upgrade --upgrade-strategy eager -r ./extern/mcuboot/scripts/requirements.txt + BREAK_SYSTEM_PACKAGES="" + if [[ $ImageOS == "ubuntu24" ]]; then + BREAK_SYSTEM_PACKAGES="--break-system-packages" + fi + echo "ImageOS: $ImageOS" + echo "BREAK_SYSTEM_PACKAGES: $BREAK_SYSTEM_PACKAGES" + pip install --upgrade --upgrade-strategy eager -r ./requirements.txt $BREAK_SYSTEM_PACKAGES + pip install --upgrade --upgrade-strategy eager -r ./tools/config/mbed_requirements.txt $BREAK_SYSTEM_PACKAGES + pip install --upgrade --upgrade-strategy eager -r ./extern/mcuboot/scripts/requirements.txt $BREAK_SYSTEM_PACKAGES - name: Test pip packages shell: bash diff --git a/.github/workflows/ci-code_analysis-sanitizers.yml b/.github/workflows/ci-code_analysis-sanitizers.yml index fded14d87e..939582c19a 100644 --- a/.github/workflows/ci-code_analysis-sanitizers.yml +++ b/.github/workflows/ci-code_analysis-sanitizers.yml @@ -20,19 +20,53 @@ concurrency: jobs: run_sanitizers: name: Build & run - runs-on: ubuntu-22.04 + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - compiler: - [ - { name: Clang 15, cc: /usr/bin/clang-15, cxx: /usr/bin/clang++-15 }, - { name: GCC 10, cc: /usr/bin/gcc-10, cxx: /usr/bin/g++-10 }, - { name: GCC 12, cc: /usr/bin/gcc-12, cxx: /usr/bin/g++-12 }, - { name: GCC 13, cc: /usr/bin/gcc-13, cxx: /usr/bin/g++-13 }, - ] - optimisation_level: ["-Og", "-Os"] + include: + - os: ubuntu-22.04 + optimisation_level: "-Og" + compiler: + name: GCC 10 + cc: /usr/bin/gcc-10 + cxx: /usr/bin/g++-10 + + - os: ubuntu-22.04 + optimisation_level: "-Os" + compiler: + name: GCC 10 + cc: /usr/bin/gcc-10 + cxx: /usr/bin/g++-10 + + - os: ubuntu-24.04 + optimisation_level: "-Og" + compiler: + name: Clang 18 + cc: /usr/bin/clang-18 + cxx: /usr/bin/clang++-18 + + - os: ubuntu-24.04 + optimisation_level: "-Os" + compiler: + name: Clang 18 + cc: /usr/bin/clang-18 + cxx: /usr/bin/clang++-18 + + - os: ubuntu-24.04 + optimisation_level: "-Og" + compiler: + name: GCC 13 + cc: /usr/bin/gcc-13 + cxx: /usr/bin/g++-13 + + - os: ubuntu-24.04 + optimisation_level: "-Os" + compiler: + name: GCC 13 + cc: /usr/bin/gcc-13 + cxx: /usr/bin/g++-13 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/ci-unit_tests.yml b/.github/workflows/ci-unit_tests.yml index 63e3e531f6..d7903c12fd 100644 --- a/.github/workflows/ci-unit_tests.yml +++ b/.github/workflows/ci-unit_tests.yml @@ -20,18 +20,29 @@ concurrency: jobs: run_unit_tests: name: Build & run - runs-on: ubuntu-22.04 + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - compiler: [ - { name: Clang 15, cc: /usr/bin/clang-15, cxx: /usr/bin/clang++-15 }, - { name: GCC 10, cc: /usr/bin/gcc-10, cxx: /usr/bin/g++-10 }, - # { name: GCC 11, cc: /usr/bin/gcc-11, cxx: /usr/bin/g++-11 }, # ? Not working yet, see https://github.com/boost-ext/sml/issues/546 - { name: GCC 12, cc: /usr/bin/gcc-12, cxx: /usr/bin/g++-12 }, - { name: GCC 13, cc: /usr/bin/gcc-13, cxx: /usr/bin/g++-13 }, - ] + include: + - os: ubuntu-22.04 + compiler: + name: GCC 10 + cc: /usr/bin/gcc-10 + cxx: /usr/bin/g++-10 + + - os: ubuntu-24.04 + compiler: + name: Clang 18 + cc: /usr/bin/clang-18 + cxx: /usr/bin/clang++-18 + + - os: ubuntu-24.04 + compiler: + name: GCC 13 + cc: /usr/bin/gcc-13 + cxx: /usr/bin/g++-13 steps: - uses: actions/checkout@v4 diff --git a/docs/INSTALL.md b/docs/INSTALL.md index ee4d1a1133..1e5dfee41e 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -64,8 +64,8 @@ I recommend the manual install. Make sure to follow the instructions from mbed: > ```bash -python3 -m pip install -U --user -r --break-system-packages ./requirements.txt -python3 -m pip install -U --user -r --break-system-packages ./tools/config/mbed_requirements.txt +python3 -m pip install -U --user -r ./requirements.txt --break-system-packages +python3 -m pip install -U --user -r ./tools/config/mbed_requirements.txt --break-system-packages ``` ### 3. Install arm-none-eabi-gcc