Skip to content

Add support for additional board types #341

Add support for additional board types

Add support for additional board types #341

Workflow file for this run

name: Compile Examples
on:
push:
branches:
- master
paths:
- "src/**"
- "examples/**"
- ".github/workflows/compile-arduino.yml"
pull_request:
paths:
- "src/**"
- "examples/**"
- ".github/workflows/compile-arduino.yml"
jobs:
compile:
runs-on: ubuntu-latest
env:
UNIVERSAL_LIBRARIES: |
- source-path: ./
- name: Button
- name: SimpleRotary
- name: LiquidCrystal I2C
- name: SSD1803A_I2C
UNIVERSAL_SKETCH_PATHS: |
- examples/Basic
- examples/ButtonAdapter
- examples/Callbacks
- examples/InputRotary
- examples/KeyboardAdapter
- examples/List
- examples/SimpleRotary
- examples/SSD1803A_I2C
SKETCHES_REPORTS_PATH: sketches-reports
strategy:
fail-fast: false
matrix:
board:
# - fqbn: esp32:esp32:esp32
# type: esp32
# artifact-name-suffix: esp32-esp32-esp32
# - fqbn: arduino:avr:uno
# type: avr
# artifact-name-suffix: arduino-avr-uno
# - fqbn: esp8266:esp8266:huzzah
# type: esp8266
# artifact-name-suffix: esp8266-esp8266-huzzah
# - fqbn: arduino:samd:mkr1000
# type: mkr1000
# artifact-name-suffix: arduino-samd-mkr1000
- fqbn: STMicroelectronics:stm32:STM32F1
type: stm32
artifact-name-suffix: STM32-stm32-STM32F1
# - fqbn: arduino:samd:nano_33_iot
# type: nina
# artifact-name-suffix: arduino-samd-nano_33_iot
# - fqbn: arduino:samd:mkrnb1500
# type: nb
# artifact-name-suffix: arduino-samd-mkrnb1500
# - fqbn: arduino:mbed_portenta:envie_m7
# type: mbed_portenta
# artifact-name-suffix: arduino-mbed_portenta-envie_m7
# - fqbn: arduino:mbed_nano:nanorp2040connect
# type: nina
# artifact-name-suffix: arduino-mbed_nano-nanorp2040connect
# - fqbn: arduino:mbed_nicla:nicla_vision
# type: mbed_nicla
# artifact-name-suffix: arduino-mbed_nicla-nicla_vision
# - fqbn: arduino:mbed_opta:opta
# type: mbed_opta
# artifact-name-suffix: arduino-mbed_opta-opta
# - fqbn: arduino:mbed_giga:giga
# type: mbed_giga
# artifact-name-suffix: arduino-mbed_giga-giga
# - fqbn: arduino:renesas_portenta:portenta_c33
# type: renesas_portenta
# artifact-name-suffix: arduino-renesas_portenta-portenta_c33
# - fqbn: arduino:renesas_uno:unor4wifi
# type: renesas_uno
# artifact-name-suffix: arduino-renesas_uno-unor4wifi
# - fqbn: arduino:mbed_edge:edge_control
# type: mbed_edge
# artifact-name-suffix: arduino-mbed_edge-edge_control
include:
# AVR boards
- board:
type: avr
platforms: |
# Install AVR platform via Boards Manager
- name: arduino:avr
libraries: |
- name: FreeRTOS
sketch-paths: |
- examples/RTOS
# ESP32 boards
- board:
type: esp32
platforms: |
# Install ESP32 platform via Boards Manager
- name: esp32:esp32
source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
libraries:
sketch-paths:
# ESP8266 boards
- board:
type: esp8266
platforms: |
# Install ESP8266 platform via Boards Manager
- name: esp8266:esp8266
source-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
libraries:
sketch-paths:
# STM32 boards
- board:
type: stm32
platforms: |
# Install STM32 platform via Boards Manager
- name: STMicroelectronics:stm32
source-url: https://raw.githubusercontent.com/stm32duino/BoardManagerFiles/main/package_stmicroelectronics_index.json
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Compile sketches
uses: arduino/compile-sketches@v1
with:
fqbn: ${{ matrix.board.fqbn }}
platforms: ${{ matrix.platforms }}
sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }}
libraries: |
${{ env.UNIVERSAL_LIBRARIES }}
${{ matrix.libraries }}
sketch-paths: |
${{ env.UNIVERSAL_SKETCH_PATHS }}
${{ matrix.sketch-paths }}
enable-deltas-report: true
enable-warnings-report: true
- name: Upload sketches reports
uses: actions/upload-artifact@v4
with:
name: sketches-report-${{ matrix.board.artifact-name-suffix }}
path: ${{ env.SKETCHES_REPORTS_PATH }}