Skip to content

Build all target families in a CI job #661

Build all target families in a CI job

Build all target families in a CI job #661

name: test building multiple executables with CMake
on: [pull_request]
jobs:
multiple-executables-example:
runs-on: ubuntu-latest
container: ghcr.io/armmbed/mbed-os-env:master-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install Python packages
# Note: pip>=20.3 is needed to install dependencies of cysecuretools
run: |
python3 -m pip install --upgrade pip
python3 -m pip install -r tools/requirements.txt
# Note: For this CI job we use MBED_CREATE_PYTHON_VENV=FALSE so that we can make sure
# this mode works.
- name: Build the multiple_executables example
run: |
cd tools/cmake/tests/multiple_executables/
mkdir cmake_build
cd cmake_build
cmake -DMBED_TARGET=ARM_MUSCA_S1 -DMBED_CREATE_PYTHON_VENV=FALSE ..
cmake --build .
- name: Verify the post-build command has run successfully on each image
run: |
APP1=tools/cmake/tests/multiple_executables/cmake_build/app1/app1.bin
APP2=tools/cmake/tests/multiple_executables/cmake_build/app2/app2.bin
BOOTLOADER=targets/TARGET_ARM_SSG/TARGET_MUSCA_S1/bl2.bin
BOOTLOADER_SIZE=`du -b targets/TARGET_ARM_SSG/TARGET_MUSCA_S1/bl2.bin | cut -f1`
cmp -n $BOOTLOADER_SIZE $APP1 $BOOTLOADER
cmp -n $BOOTLOADER_SIZE $APP2 $BOOTLOADER