Skip to content

Dev

Dev #11

name: Run Ci Arduino
on:
push:
pull_request:
repository_dispatch:
types: [trigger-workflow]
jobs:
ci-arduino:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Checkout script repository
uses: actions/checkout@v4
with:
repository: Seeed-Studio/ci-arduino
path: ci
- name: Setup arduino cli
uses: arduino/[email protected]
- name: Create a depend.list file
run: |
# eg: echo "<repo>" >> depend.list
echo Bodmer/JPEGDecoder >> depend.list
echo Bodmer/TJpg_Decoder >> depend.list
echo Bodmer/TFT_eFEX >> depend.list
echo Bodmer/TFT_eWidget >> depend.list
echo bitbank2/PNGdec >> depend.list
echo bitbank2/AnimatedGIF >> depend.list
echo tanakamasayuki/I2C_BM8563 >> depend.list
echo PaulStoffregen/Time >> depend.list
echo JChristensen/Timezone >> depend.list
echo Seeed-Studio/Seeed_Arduino_FS >> depend.list
echo arduino-libraries/SD >> depend.list
- name: Create a ignore.list file
run: |
# eg: echo "<path>,<fqbn>" >> ignore.list
# xiao m0 RAM is too small
echo "320 x 240/All_Free_Fonts_Demo,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "320 x 240/Cellular_Automata,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "480 x 320/Cellular_Automata,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "PNG Images/Flash_PNG,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "PNG Images/Flash_transparent_PNG,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Round Display/Arduino_Life,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Round Display/GifPlayer ,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
# xiao ra4m1 RAM is too small
echo "320 x 240/All_Free_Fonts_Demo,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "320 x 240/Cellular_Automata,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "480 x 320/Cellular_Automata,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "PNG Images/Flash_PNG,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "PNG Images/Flash_transparent_PNG,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Round Display/Arduino_Life,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Round Display/GifPlayer ,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
# no SPIFFS so can't compile
echo "Smooth Fonts/SPIFFS/Font_Demo_1,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/SPIFFS/Font_Demo_1,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/SPIFFS/Font_Demo_1,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/SPIFFS/Font_Demo_1,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/SPIFFS/Font_Demo_2,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/SPIFFS/Font_Demo_2,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/SPIFFS/Font_Demo_2,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/SPIFFS/Font_Demo_2,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/SPIFFS/Font_Demo_3,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/SPIFFS/Font_Demo_3,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/SPIFFS/Font_Demo_3,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/SPIFFS/Font_Demo_3,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/SPIFFS/Font_Demo_4,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/SPIFFS/Font_Demo_4,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/SPIFFS/Font_Demo_4,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/SPIFFS/Font_Demo_4,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/SPIFFS/Print_Smooth_Font,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/SPIFFS/Print_Smooth_Font,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/SPIFFS/Print_Smooth_Font,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/SPIFFS/Print_Smooth_Font,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/SPIFFS/Smooth_font_gradient,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/SPIFFS/Smooth_font_gradient,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/SPIFFS/Smooth_font_gradient,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/SPIFFS/Smooth_font_gradient,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/SPIFFS/Smooth_font_reading_TFT,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/SPIFFS/Smooth_font_reading_TFT,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/SPIFFS/Smooth_font_reading_TFT,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/SPIFFS/Smooth_font_reading_TFT,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/SPIFFS/Unicode_test,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/SPIFFS/Unicode_test,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/SPIFFS/Unicode_test,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/SPIFFS/Unicode_test,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Generic/TFT_SPIFFS_BMP,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Generic/TFT_SPIFFS_BMP,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Generic/TFT_SPIFFS_BMP,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Generic/TFT_SPIFFS_BMP,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Sprite/Rotated_Sprite_3,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Sprite/Rotated_Sprite_3,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Sprite/Rotated_Sprite_3,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Sprite/Rotated_Sprite_3,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Generic/On_Off_Button,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Generic/On_Off_Button,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Generic/On_Off_Button,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Generic/On_Off_Button,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Generic/TFT_Button_Label_Datum,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Generic/TFT_Button_Label_Datum,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Generic/TFT_Button_Label_Datum,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Generic/TFT_Button_Label_Datum,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "320 x 240/Keypad_240x320,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "320 x 240/Keypad_240x320,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "320 x 240/Keypad_240x320,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "320 x 240/Keypad_240x320,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "480 x 320/Keypad_480x320,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "480 x 320/Keypad_480x320,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "480 x 320/Keypad_480x320,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "480 x 320/Keypad_480x320,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "480 x 320/Touch_Controller_Demo,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "480 x 320/Touch_Controller_Demo,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "480 x 320/Touch_Controller_Demo,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "480 x 320/Touch_Controller_Demo,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
# no LittleFS.h so can't compile
echo "Smooth Fonts/FLASH_Array/Print_Smooth_Font,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/FLASH_Array/Print_Smooth_Font,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/FLASH_Array/Print_Smooth_Font,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/FLASH_Array/Print_Smooth_Font,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_1,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_1,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_1,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_1,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_2,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_2,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_2,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_2,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_3,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_3,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_3,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_3,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_4,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_4,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_4,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/LittleFS/Font_Demo_4,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/LittleFS/Print_Smooth_Font,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/LittleFS/Print_Smooth_Font,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/LittleFS/Print_Smooth_Font,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/LittleFS/Print_Smooth_Font,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/LittleFS/Smooth_font_gradient,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/LittleFS/Smooth_font_gradient,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/LittleFS/Smooth_font_gradient,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/LittleFS/Smooth_font_gradient,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/LittleFS/Smooth_font_reading_TFT,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/LittleFS/Smooth_font_reading_TFT,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/LittleFS/Smooth_font_reading_TFT,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/LittleFS/Smooth_font_reading_TFT,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/LittleFS/Unicode_test,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/LittleFS/Unicode_test,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/LittleFS/Unicode_test,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/LittleFS/Unicode_test,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "PNG Images/LittleFS_PNG,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "PNG Images/LittleFS_PNG,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "PNG Images/LittleFS_PNG,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "PNG Images/LittleFS_PNG,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "PNG Images/LittleFS_PNG_DMA ,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "PNG Images/LittleFS_PNG_DMA ,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "PNG Images/LittleFS_PNG_DMA ,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "PNG Images/LittleFS_PNG_DMA ,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "GUI Widgets/Buttons/Button_demo,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "GUI Widgets/Buttons/Button_demo,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "GUI Widgets/Buttons/Button_demo,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "GUI Widgets/Buttons/Button_demo,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "GUI Widgets/Sliders/Slider_demo,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "GUI Widgets/Sliders/Slider_demo,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "GUI Widgets/Sliders/Slider_demo,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "GUI Widgets/Sliders/Slider_demo,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
# TFT_eFEX library has compatibility issues with ESP32 so can't compile
echo "Sprite/Rotated_Sprite_3,esp32:esp32:XIAO_ESP32C3" >> ignore.list
echo "Sprite/Rotated_Sprite_3,esp32:esp32:XIAO_ESP32C6" >> ignore.list
echo "Sprite/Rotated_Sprite_3,esp32:esp32:XIAO_ESP32S3" >> ignore.list
# AnimatedGIF has compatibility issues with rp2350 so can't compile
echo "Round Display/GifPlayer,rp2040:rp2040:seeed_xiao_rp2350" >> ignore.list
# only ESP32 can compile
echo "Generic/ESP32_SDcard_jpeg,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Generic/ESP32_SDcard_jpeg,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Generic/ESP32_SDcard_jpeg,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Generic/ESP32_SDcard_jpeg,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Generic/ESP32_SDcard_jpeg,rp2040:rp2040:seeed_xiao_rp2040" >> ignore.list
echo "Generic/ESP32_SDcard_jpeg,rp2040:rp2040:seeed_xiao_rp2350" >> ignore.list
echo "Smooth Fonts/SD_Card/ESP32_Smooth_Font_SD ,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Fonts/SD_Card/ESP32_Smooth_Font_SD ,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Fonts/SD_Card/ESP32_Smooth_Font_SD ,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Fonts/SD_Card/ESP32_Smooth_Font_SD ,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Fonts/SD_Card/ESP32_Smooth_Font_SD,rp2040:rp2040:seeed_xiao_rp2040" >> ignore.list
echo "Smooth Fonts/SD_Card/ESP32_Smooth_Font_SD,rp2040:rp2040:seeed_xiao_rp2350" >> ignore.list
echo "Smooth Graphics/Anti-aliased_Clock,Seeeduino:samd:seeed_XIAO_m0" >> ignore.list
echo "Smooth Graphics/Anti-aliased_Clock,Seeeduino:nrf52:xiaonRF52840" >> ignore.list
echo "Smooth Graphics/Anti-aliased_Clock,Seeeduino:nrf52:xiaonRF52840Sense" >> ignore.list
echo "Smooth Graphics/Anti-aliased_Clock,Seeeduino:renesas_uno:XIAO_RA4M1" >> ignore.list
echo "Smooth Graphics/Anti-aliased_Clock,rp2040:rp2040:seeed_xiao_rp2040" >> ignore.list
echo "Smooth Graphics/Anti-aliased_Clock,rp2040:rp2040:seeed_xiao_rp2350" >> ignore.list
- name: Build sketch
run: |
./ci/tools/compile.sh
- name: Build result
run: |
cat build.log
if [ ${{ github.event_name }} == 'pull_request' ] && [ -f compile.failed ]; then
exit 1
fi
- name: Generate issue
if: ${{ github.event_name != 'pull_request' }}
run: ./ci/tools/issue.sh
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}