From c2cdc3cb36f431bf3ee63edd70a92727a5d6368c Mon Sep 17 00:00:00 2001 From: Paul Bartell Date: Thu, 1 Dec 2022 17:17:00 -0800 Subject: [PATCH] Move FreeRTOS Demo build checks to their own workflow file --- .github/scripts/posix_build_checker.sh | 24 ---- .../scripts/posix_network_build_checker.sh | 24 ---- .github/workflows/core-checks.yml | 41 +----- .github/workflows/freertos_demos.yml | 129 ++++++++++++++++++ 4 files changed, 130 insertions(+), 88 deletions(-) delete mode 100644 .github/scripts/posix_build_checker.sh delete mode 100644 .github/scripts/posix_network_build_checker.sh create mode 100644 .github/workflows/freertos_demos.yml diff --git a/.github/scripts/posix_build_checker.sh b/.github/scripts/posix_build_checker.sh deleted file mode 100644 index f23070a5dd..0000000000 --- a/.github/scripts/posix_build_checker.sh +++ /dev/null @@ -1,24 +0,0 @@ -PROJECT=$1 -echo "Verifying url links of: ${PROJECT}" -if [ ! -d "$PROJECT" ] -then - echo "Directory passed does not exist" - exit 2 -fi - -SCRIPT_RET=0 - -set -o nounset # Treat unset variables as an error - -cd ${PROJECT}/FreeRTOS/Demo/Posix_GCC -make - -SCRIPT_RET=$? - -if [ "${SCRIPT_RET}" -eq 0 ] -then - exit 0 -else - exit 1 -fi - diff --git a/.github/scripts/posix_network_build_checker.sh b/.github/scripts/posix_network_build_checker.sh deleted file mode 100644 index 457fdc93fa..0000000000 --- a/.github/scripts/posix_network_build_checker.sh +++ /dev/null @@ -1,24 +0,0 @@ - -PROJECT=$1 -echo "Verifying url links of: ${PROJECT}" -if [ ! -d "$PROJECT" ] -then - echo "Directory passed does not exist" - exit 2 -fi - -SCRIPT_RET=0 - -set -o nounset # Treat unset variables as an error - -cd ${PROJECT}/FreeRTOS-Plus/Demo/FreeRTOS_Plus_TCP_Echo_Posix -make - -SCRIPT_RET=$? - -if [ "${SCRIPT_RET}" -eq 0 ] -then - exit 0 -else - exit 1 -fi diff --git a/.github/workflows/core-checks.yml b/.github/workflows/core-checks.yml index be7e0ddd64..16620ba1c8 100644 --- a/.github/workflows/core-checks.yml +++ b/.github/workflows/core-checks.yml @@ -4,7 +4,7 @@ on: [pull_request] jobs: core-checker: - name: FreeRTOS Core Checks + name: Check File Headers runs-on: ubuntu-20.04 steps: # Install python 3 @@ -44,42 +44,3 @@ jobs: export PYTHONPATH=tools/.github/scripts:${PYTHONPATH} .github/scripts/core_checker.py --json ${HOME}/files_modified.json ${HOME}/files_added.json ${HOME}/files_renamed.json exit $? - build-checker: - name: FreeRTOS Posix Build Check - runs-on: ubuntu-20.04 - steps: - - name: Clone This Repo - uses: actions/checkout@v2 - with: - path: ./workspace - submodules: 'recursive' - fetch-depth: 1 - - name: Posix Build Checker - run: | - bash workspace/.github/scripts/posix_build_checker.sh workspace - - name: Install lib pcap dev - run: | - sudo apt-get install libpcap-dev - - name: Posix Network Build Checker - run: | - bash workspace/.github/scripts/posix_network_build_checker.sh workspace - arm-gcc-build-checker: - name: FreeRTOS ARM GCC Build Check - runs-on: ubuntu-20.04 - env: - ARM_GCC_TOOLCHAIN_URL: "https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2?revision=05382cca-1721-44e1-ae19-1e7c3dc96118&la=en&hash=D7C9D18FCA2DD9F894FD9F3C3DC9228498FA281A" - steps: - - name: Install ARM GCC - run: wget -qO- "${{ env.ARM_GCC_TOOLCHAIN_URL }}" | sudo tar --strip-components=1 -xj -C /usr/local - - name: Clone This Repo - uses: actions/checkout@v2 - with: - path: ./workspace - submodules: 'recursive' - fetch-depth: 1 - - name: Qemu MPS2 build Cortex M3 - run: cd workspace/FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC && make && make clean && make FULL_DEMO=1 - - name: Qemu MPS2 MPU build Cortex M3 - run: cd workspace/FreeRTOS/Demo/CORTEX_MPU_M3_MPS2_QEMU_GCC && make - - name: Qemu MPS2 IAR build Cortex M3 - run: cd workspace/FreeRTOS/Demo/CORTEX_MPS2_QEMU_IAR_GCC/build/gcc && make diff --git a/.github/workflows/freertos_demos.yml b/.github/workflows/freertos_demos.yml new file mode 100644 index 0000000000..1de5f6ac72 --- /dev/null +++ b/.github/workflows/freertos_demos.yml @@ -0,0 +1,129 @@ +name: FreeRTOS Demos +on: pull_request + +jobs: + WIN32-MSVC: + name: Microsoft Visual C Compiler (WIN32) + runs-on: windows-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + + - name: Fetch Kernel Submodule + shell: bash + run: | + git submodule update --checkout --init --depth 1 FreeRTOS/Source + + - name: Add msbuild to PATH + uses: microsoft/setup-msbuild@v1.1 + + - name: Build WIN32-MSVC Demo + working-directory: FreeRTOS/Demo/WIN32-MSVC + run: msbuild WIN32.sln -t:rebuild + + - name: Build WIN32-MSVC-Static-Allocation-Only Demo + working-directory: FreeRTOS/Demo/WIN32-MSVC-Static-Allocation-Only + run: msbuild WIN32.sln -t:rebuild + + POSIX-GCC: + name: Native GCC + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + + - name: Fetch Kernel Submodule + shell: bash + run: git submodule update --checkout --init --depth 1 FreeRTOS/Source + + - name: Install GCC + shell: bash + run: | + sudo apt-get -y update + sudo apt-get -y install build-essential + + - name: Build Posix_GCC Demo + shell: bash + working-directory: FreeRTOS/Demo/Posix_GCC + run: make -j + + MSP430-GCC: + name: GNU MSP430 Toolchain + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + + - name: Fetch Kernel Submodule + shell: bash + run: git submodule update --checkout --init --depth 1 FreeRTOS/Source + + - name: Install MSP430 Toolchain + shell: bash + run: | + sudo apt-get -y update + sudo apt-get -y install gcc-msp430 build-essential + + - name: Build msp430_GCC Demo + shell: bash + working-directory: FreeRTOS/Demo/msp430_GCC + run: make -j + + ARM-GCC: + name: GNU ARM Toolchain + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + + - name: Fetch Kernel Submodule + shell: bash + run: git submodule update --checkout --init --depth 1 FreeRTOS/Source + + - name: Install GNU ARM Toolchain + shell: bash + run: | + sudo apt-get -y update + sudo apt-get -y install gcc-arm-none-eabi build-essential cmake git ninja-build python3-minimal + + - name: Build CORTEX_MPU_M3_MPS2_QEMU_GCC Demo + shell: bash + working-directory: FreeRTOS/Demo/CORTEX_MPU_M3_MPS2_QEMU_GCC + run: make -j + + - name: Build CORTEX_LM3S102_GCC Demo + shell: bash + working-directory: FreeRTOS/Demo/CORTEX_LM3S102_GCC + run: make -j + + - name: Build CORTEX_M3_MPS2_QEMU_GCC Demo + shell: bash + working-directory: FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC + run: | + make clean + make -j + + - name: Build CORTEX_M3_MPS2_QEMU_GCC Demo + shell: bash + working-directory: FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC + run: | + make clean + make FULL_DEMO=1 -j + + - name: Build CORTEX_LM3S811_GCC Demo + shell: bash + working-directory: FreeRTOS/Demo/CORTEX_LM3S811_GCC + run: make -j + + - name: Build CORTEX_M0+_RP2040 Demos + shell: bash + working-directory: FreeRTOS/Demo/ThirdParty/Community-Supported/CORTEX_M0+_RP2040 + run: | + git clone https://github.com/raspberrypi/pico-sdk.git + cmake -B build -DPICO_SDK_PATH=pico-sdk -GNinja + ninja -C build --verbose + + - name: Build CORTEX_MPS2_QEMU_IAR_GCC Demo + shell: bash + working-directory: FreeRTOS/Demo/CORTEX_MPS2_QEMU_IAR_GCC + run: make -C build/gcc -j