Skip to content

Test MW-RefApps

Test MW-RefApps #11

name: Test MW-RefApps # MDK Middleware Reference Applications (Examples)
on:
workflow_dispatch:
pull_request:
branches: [main]
push:
branches: [main]
schedule:
- cron: '00 20 * * 6'
jobs:
Test: # Install tools, build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
solution: [
{name: FileSystem, dir: FileSystem, layer: ./STM32H743I-EVAL_BSP/Layers/IoT },
{name: Network, dir: Network, layer: ./STM32H743I-EVAL_BSP/Layers/IoT },
{name: USB_Device, dir: USB/Device, layer: ./STM32H743I-EVAL_BSP/Layers/IoT },
{name: USB_Host, dir: USB/Host, layer: ./STM32H743I-EVAL_BSP/Layers/IoT }
]
steps:
- name: Checkout STM32H743I-EVAL_BSP root
uses: actions/checkout@v4
with:
sparse-checkout: |
.ci/MW-RefApps
- name: Install tools
uses: ARM-software/cmsis-actions/vcpkg@v1
with:
config: "./.ci/vcpkg-configuration.json"
- name: Activate Arm tool license
uses: ARM-software/cmsis-actions/armlm@v1
- name: Checkout STM32H743I-EVAL_BSP
uses: actions/checkout@v4
with:
repository: Evagan2018/STM32H743I-EVAL_BSP
path: ./STM32H743I-EVAL_BSP
- name: Checkout STM32H7xx_DFP
uses: actions/checkout@v4
with:
repository: Open-CMSIS-Pack/STM32H7xx_DFP
path: ./STM32H7xx_DFP
- name: Checkout MDK-Middleware
uses: actions/checkout@v4
with:
repository: ARM-software/MDK-Middleware
path: ./MDK-Middleware
- name: Checkout CMSIS-Driver_STM32
uses: actions/checkout@v4
with:
repository: Open-CMSIS-Pack/CMSIS-Driver_STM32
path: ./CMSIS-Driver_STM32
- name: Show directories after the initial checkout
working-directory: ./../
run: |
tree -a -d -L 6
- name: Initialize CMSIS pack root folder
run: |
cpackget init https://www.keil.com/pack/index.pidx
cpackget update-index
- name: Add local CMSIS packs
run: |
cpackget add ./STM32H743I-EVAL_BSP/Keil.STM32H743I-EVAL_BSP.pdsc
cpackget add ./STM32H7xx_DFP/Keil.STM32H7xx_DFP.pdsc
cpackget add ./MDK-Middleware/Keil.MDK-Middleware.pdsc
cpackget add ./CMSIS-Driver_STM32/ARM.CMSIS-Driver_STM32.pdsc
- name: Copy example strucure to .ci/MW-RefApps/ folder
working-directory: ./
run: |
cp -rf ./MDK-Middleware/Examples/* ./.ci/MW-RefApps/Examples/
cp -rf ${{ matrix.solution.layer }}/* ./.ci/MW-RefApps/Examples/${{ matrix.solution.dir }}/Board/ # Copy the Board layer
cp -rf ./STM32H743I-EVAL_BSP/Examples/* ./.ci/MW-RefApps/Examples/
- name: ${{ matrix.solution.name }} AC6 build test
if: always()
working-directory: ./.ci/MW-RefApps/Examples/${{ matrix.solution.dir }}/
run: |
cbuild ./${{ matrix.solution.name }}.csolution.yml --update-rte --packs \
--toolchain AC6 --rebuild
- name: ${{ matrix.solution.name }} GCC build test
if: always()
working-directory: ./.ci/MW-RefApps/Examples/${{ matrix.solution.dir }}/
run: |
cbuild ./${{ matrix.solution.name }}.csolution.yml --update-rte --packs \
--toolchain GCC --rebuild