test prod Wizard

This commit is contained in:
Sergio R. Caprile 2024-10-03 17:09:16 -03:00
parent 23ada5c7a5
commit b767f930ad

181
.github/workflows/wiztst.yaml vendored Normal file
View File

@ -0,0 +1,181 @@
name: Wizard targets build and test
on:
#schedule:
# - cron: '0 3 * * *' # run at 3 AM UTC
# Allow manual runs
workflow_dispatch:
jobs:
build_ST:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
board: ['f207', 'f429', 'f439', 'f746', 'f756', 'f767', 'h563', 'h573', 'h723', 'h735', 'h743', 'h745', 'h747', 'h753', 'h755']
ide: ['GCC+make', 'CubeIDE', 'Zephyr']
rtos: ['baremetal', 'FreeRTOS']
exclude:
- ide: 'Zephyr'
rtos: "FreeRTOS"
- ide: 'Zephyr'
board: "f439"
include:
- ide: 'Keil'
board: "f756"
rtos: 'baremetal'
name: ${{ matrix.board }} ${{ matrix.ide }} ${{ matrix.rtos }}
steps:
- name: Build and test
run: |
response=$(curl -s -X POST -H "Content-Type: application/json" -d '{"build":{"board":"${{ matrix.board }}","ide":"${{ matrix.ide }}","rtos":"${{ matrix.rtos }}"}}' https://mongoose.ws/wizard/api/hash)
hash=$(echo $response | jq -r '.hash')
files=$(echo $response | jq -r '.files')
if [ "${{ matrix.ide }}" == "GCC+make" ]; then
sudo apt -y update && sudo apt -y install gcc-arm-none-eabi
make -C back/builds/${{ matrix.board }}/${{ matrix.ide }}/${{ matrix.rtos }}/$hash/
else
test "$hash" != "" || exit 1
test "$files" != "" || exit 1
test -d back/builds/${{ matrix.board }}/${{ matrix.ide }}/${{ matrix.rtos }}/$hash/ || exit 1
fi
build_NXP:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
board: ['rt1020', 'rt1024', 'rt1040', 'rt1060', 'rt1064', 'rt1170', 'mcxn947']
ide: ['GCC+make'] #, 'MCUXpresso', 'Zephyr'
rtos: ['baremetal'] #, 'FreeRTOS']
include:
- ide: 'GCC+make'
board: "mcxn947"
rtos: 'FreeRTOS'
- ide: 'Zephyr'
board: "mcxn947"
rtos: 'baremetal'
- ide: 'MCUXpresso'
board: "mcxn947"
rtos: 'baremetal'
- ide: 'MCUXpresso'
board: "mcxn947"
rtos: 'FreeRTOS'
name: ${{ matrix.board }} ${{ matrix.ide }} ${{ matrix.rtos }}
steps:
- name: Build and test
run: |
response=$(curl -s -X POST -H "Content-Type: application/json" -d '{"build":{"board":"${{ matrix.board }}","ide":"${{ matrix.ide }}","rtos":"${{ matrix.rtos }}"}}' https://mongoose.ws/wizard/api/hash)
hash=$(echo $response | jq -r '.hash')
files=$(echo $response | jq -r '.files')
echo $hash
echo $files
if [ "${{ matrix.ide }}" == "GCC+make" ]; then
sudo apt -y update && sudo apt -y install gcc-arm-none-eabi
make -C back/builds/${{ matrix.board }}/${{ matrix.ide }}/${{ matrix.rtos }}/$hash/
else
test "$hash" != "" || exit 1
test "$files" != "" || exit 1
test -d back/builds/${{ matrix.board }}/${{ matrix.ide }}/${{ matrix.rtos }}/$hash/ || exit 1
fi
build_Infineon:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
board: ['xmc4400', 'xmc4700', 'xmc7200']
ide: ['GCC+make'] #, 'Modus']
rtos: ['baremetal'] #, 'FreeRTOS']
#include:
#- ide: 'Modus'
# board: "xmc7200"
# rtos: 'baremetal'
name: ${{ matrix.board }} ${{ matrix.ide }} ${{ matrix.rtos }}
steps:
- name: Build and test
run: |
response=$(curl -s -X POST -H "Content-Type: application/json" -d '{"build":{"board":"${{ matrix.board }}","ide":"${{ matrix.ide }}","rtos":"${{ matrix.rtos }}"}}' https://mongoose.ws/wizard/api/hash)
hash=$(echo $response | jq -r '.hash')
files=$(echo $response | jq -r '.files')
echo $hash
echo $files
if [ "${{ matrix.ide }}" == "GCC+make" ]; then
sudo apt -y update && sudo apt -y install gcc-arm-none-eabi
make -C back/builds/${{ matrix.board }}/${{ matrix.ide }}/${{ matrix.rtos }}/$hash/
else
test "$hash" != "" || exit 1
test "$files" != "" || exit 1
test -d back/builds/${{ matrix.board }}/${{ matrix.ide }}/${{ matrix.rtos }}/$hash/ || exit 1
fi
build_RP2040:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
board: ["evb-pico"]
ide: ["Pico-SDK", "Zephyr"]
rtos: ['baremetal']
name: ${{ matrix.board }} ${{ matrix.ide }} ${{ matrix.rtos }}
steps:
- name: Build and test
run: |
response=$(curl -s -X POST -H "Content-Type: application/json" -d '{"build":{"board":"${{ matrix.board }}","ide":"${{ matrix.ide }}","rtos":"${{ matrix.rtos }}"}}' https://mongoose.ws/wizard/api/hash)
hash=$(echo $response | jq -r '.hash')
files=$(echo $response | jq -r '.files')
echo $hash
echo $files
if [ "${{ matrix.ide }}" == "Pico-SDK" ]; then
sudo apt -y update && sudo apt -y install gcc-arm-none-eabi
make -C back/builds/${{ matrix.board }}/${{ matrix.ide }}/${{ matrix.rtos }}/$hash/
else
test "$hash" != "" || exit 1
test "$files" != "" || exit 1
test -d back/builds/${{ matrix.board }}/${{ matrix.ide }}/${{ matrix.rtos }}/$hash/ || exit 1
fi
build_ESP32:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
board: ["esp32"]
ide: ["ESP-IDF"] #, "Zephyr"
name: ${{ matrix.board }} ${{ matrix.ide }}
steps:
- name: Build and test
run: |
response=$(curl -s -X POST -H "Content-Type: application/json" -d '{"build":{"board":"${{ matrix.board }}","ide":"${{ matrix.ide }}","rtos":"baremetal"}}' https://mongoose.ws/wizard/api/hash)
hash=$(echo $response | jq -r '.hash')
files=$(echo $response | jq -r '.files')
echo $hash
echo $files
if [ "${{ matrix.ide }}" == "ESP-IDF" ]; then
test "$hash" != "" || exit 1
test "$files" != "" || exit 1
test -d back/builds/${{ matrix.board }}/${{ matrix.ide }}/baremetal/$hash/ || exit 1
# make -C back/builds/${{ matrix.board }}/${{ matrix.ide }}/baremetal/$hash/
else
test "$hash" != "" || exit 1
test "$files" != "" || exit 1
test -d back/builds/${{ matrix.board }}/${{ matrix.ide }}/baremetal/$hash/ || exit 1
fi
build_Arduino:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
board: ["teensy41"]
name: ${{ matrix.board }} Arduino
steps:
- name: Build and test
run: |
response=$(curl -s -X POST -H "Content-Type: application/json" -d '{"build":{"board":"${{ matrix.board }}","ide":"Arduino","rtos":"baremetal"}}' https://mongoose.ws/wizard/api/hash)
hash=$(echo $response | jq -r '.hash')
files=$(echo $response | jq -r '.files')
echo $hash
echo $files
test "$hash" != "" || exit 1
test "$files" != "" || exit 1
test -d back/builds/${{ matrix.board }}/Arduino/baremetal/$hash/ || exit 1