V1.0.0 #1
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) 2021 Armin Joachimsmeyer | |
# https://github.com/ArminJo/Github-Actions | |
# This is the name of the workflow, visible on GitHub UI. | |
name: LibraryBuild | |
on: | |
workflow_dispatch: # To run it manually | |
push: # see: https://help.github.com/en/actions/reference/events-that-trigger-workflows#pull-request-event-pull_request | |
paths: | |
- '**.ino' | |
- '**.cpp' | |
- '**.h' | |
- '**LibraryBuild.yml' | |
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 | |
# STMicroelectronics: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:avr:uno | |
- arduino:avr:leonardo | |
# Choose the right platform for the boards we want to test. (maybe in the future Arduino will automatically do this for you) | |
# With sketches-exclude you may exclude specific examples for a board. Use a comma separated list. | |
############################################################################################################# | |
# Do not cancel all jobs / architectures if one job fails | |
fail-fast: false | |
steps: | |
- 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 }} | |
build-properties: ${{ toJson(matrix.build-properties) }} | |
cli-version: 0.33.0 # in order to avoid errors for ATTinyCore | |