Merge pull request #59 from ElectronicCats/refactor #334
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# LibraryBuild.yml | |
# Github workflow script to test compile all examples of an Arduino library repository. | |
# | |
# Copyright (C) 2020 Armin Joachimsmeyer | |
# https://github.com/ArminJo/Github-Actions | |
# | |
# This is the name of the workflow, visible on GitHub UI. | |
name: LibraryBuild | |
on: [push, pull_request] # see: https://help.github.com/en/actions/reference/events-that-trigger-workflows#pull-request-event-pull_request | |
jobs: | |
build: | |
name: ${{ matrix.arduino-boards-fqbn }} - test compiling examples | |
runs-on: ubuntu-latest # I picked Ubuntu to use shell scripts. | |
strategy: | |
matrix: | |
# The matrix will produce one job for each configuration parameter of type `arduino-boards-fqbn` | |
# In the Arduino IDE, the fqbn is printed in the first line of the verbose output for compilation as parameter -fqbn=... for the "arduino-builder -dump-prefs" command | |
# | |
# Examples: arduino:avr:uno, arduino:avr:leonardo, arduino:avr:nano, arduino:avr:mega | |
# arduino:sam:arduino_due_x, arduino:samd:arduino_zero_native" | |
# ATTinyCore:avr:attinyx5:chip=85,clock=1internal, digistump:avr:digispark-tiny, digistump:avr:digispark-pro | |
# STM32:stm32:GenF1:pnum=BLUEPILL_F103C8 | |
# esp8266:esp8266:huzzah:eesz=4M3M,xtal=80, esp32:esp32:featheresp32:FlashFreq=80 | |
# You may add a suffix behind the fqbn with "|" to specify one board for e.g. different compile options like arduino:avr:uno|trace | |
############################################################################################################# | |
arduino-boards-fqbn: | |
- arduino:samd:nano_33_iot | |
- arduino:mbed:envie_m7 | |
- esp8266:esp8266:huzzah:eesz=4M3M,xtal=80 | |
- rp2040:rp2040:generic | |
- esp32:esp32:featheresp32:FlashFreq=80 | |
# Specify parameters for each board. | |
# Parameters can be: platform-url, examples-exclude and examples-build-properties | |
# With examples-exclude you may exclude specific examples for a board. Use a space separated list. | |
############################################################################################################# | |
include: | |
- arduino-boards-fqbn: arduino:samd:nano_33_iot | |
- arduino-boards-fqbn: arduino:mbed:envie_m7 | |
- arduino-boards-fqbn: esp8266:esp8266:huzzah:eesz=4M3M,xtal=80 | |
platform-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json | |
- arduino-boards-fqbn: rp2040:rp2040:generic | |
platform-url: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json | |
- arduino-boards-fqbn: esp32:esp32:featheresp32:FlashFreq=80 | |
platform-url: https://github.com/espressif/arduino-esp32/releases/download/3.0.0-alpha2/package_esp32_dev_index.json | |
extra-arduino-cli-args: "--warnings default" | |
# Do not cancel all jobs / architectures if one job fails | |
fail-fast: false | |
# This is the list of steps this job will run. | |
steps: | |
# First of all, we clone the repo using the `checkout` action. | |
- name: Checkout | |
uses: actions/checkout@master | |
- name: Compile all examples | |
uses: ArminJo/arduino-test-compile@master | |
with: | |
arduino-board-fqbn: ${{ matrix.arduino-boards-fqbn }} | |
platform-url: ${{ matrix.platform-url }} | |
extra-arduino-cli-args: ${{ matrix.extra-arduino-cli-args }} |