V1.0.1 #20
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:mega | |
# - ATTinyCore:avr:attiny43u # does not work yet (Vcc gives wrong values) | |
- ATTinyCore:avr:attinyx313:chip=2313,millis=disabled | |
- ATTinyCore:avr:attinyx313:chip=4313 | |
- ATTinyCore:avr:attinyx4:chip=24,millis=disabled | |
- ATTinyCore:avr:attinyx4:chip=44 | |
- ATTinyCore:avr:attinyx4:chip=84 | |
- ATTinyCore:avr:attinyx41:chip=441 | |
- ATTinyCore:avr:attinyx41:chip=841 | |
- ATTinyCore:avr:attinyx5:chip=25,millis=disabled | |
- ATTinyCore:avr:attinyx5:chip=45 | |
- ATTinyCore:avr:attinyx5:chip=85 | |
# - ATTinyCore:avr:attiny26 # only supported in 2.0.0 | |
- ATTinyCore:avr:attinyx61:chip=261,millis=disabled | |
- ATTinyCore:avr:attinyx61:chip=461 | |
- ATTinyCore:avr:attinyx61:chip=861 | |
- ATTinyCore:avr:attinyx7:chip=87 | |
- ATTinyCore:avr:attinyx7:chip=167 | |
- ATTinyCore:avr:attinyx8:chip=48 | |
- ATTinyCore:avr:attinyx8:chip=88 | |
- ATTinyCore:avr:attiny828 | |
- ATTinyCore:avr:attiny1634 | |
- MiniCore:avr:328:variant=modelNonP | |
- MiniCore:avr:328:variant=modelP | |
- MiniCore:avr:328:variant=modelPB | |
- MiniCore:avr:168:variant=modelNonP | |
- MiniCore:avr:168:variant=modelP | |
- MiniCore:avr:168:variant=modelPB | |
- MiniCore:avr:88:variant=modelNonP | |
- MiniCore:avr:88:variant=modelP | |
- MiniCore:avr:88:variant=modelPB | |
- MiniCore:avr:48:variant=modelNonP | |
- MiniCore:avr:48:variant=modelP | |
- MiniCore:avr:48:variant=modelPB | |
- MiniCore:avr:8 | |
- MightyCore:avr:1284 | |
- MightyCore:avr:644 | |
- MightyCore:avr:324 | |
- MightyCore:avr:164 | |
- MightyCore:avr:32 | |
- MightyCore:avr:16 | |
- MightyCore:avr:8535 | |
- MegaCore:avr:2560 | |
- MegaCore:avr:1280 | |
# 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. | |
############################################################################################################# | |
include: | |
- arduino-boards-fqbn: arduino:avr:uno | |
sketches-exclude: simple, setup_from_eeprom, setup_explicitly, calibTarget | |
- arduino-boards-fqbn: arduino:avr:mega | |
sketches-exclude: simple, setup_from_eeprom, setup_explicitly, calibTarget | |
# - arduino-boards-fqbn: ATTinyCore:avr:attiny43u | |
# platform-url: http://drazzy.com/package_drazzy.com_index.json | |
# sketches-exclude: calibServer | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx313:chip=2313,millis=disabled | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer, setup_from_eeprom, setup_explicitly | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx313:chip=4313 | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx4:chip=24,millis=disabled | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer, setup_from_eeprom, setup_explicitly | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx4:chip=44 | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx4:chip=84 | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx41:chip=441 | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx41:chip=841 | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx5:chip=25,millis=disabled | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer, setup_from_eeprom, setup_explicitly | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx5:chip=45 | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx5:chip=85 | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer | |
# - arduino-boards-fqbn: ATTinyCore:avr:attiny26 | |
# platform-url: http://drazzy.com/package_drazzy.com_index.json | |
# sketches-exclude: calibServer, setup_from_eeprom, setup_explicitly | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx61:chip=261,millis=disabled | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer, setup_from_eeprom, setup_explicitly | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx61:chip=461 | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx61:chip=861 | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx7:chip=87 | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx7:chip=167 | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx8:chip=48 | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: ATTinyCore:avr:attinyx8:chip=88 | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: ATTinyCore:avr:attiny828 | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: ATTinyCore:avr:attiny1634 | |
platform-url: http://drazzy.com/package_drazzy.com_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MiniCore:avr:328:variant=modelNonP | |
platform-url: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MiniCore:avr:328:variant=modelP | |
platform-url: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MiniCore:avr:328:variant=modelPB | |
platform-url: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MiniCore:avr:168:variant=modelNonP | |
platform-url: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MiniCore:avr:168:variant=modelP | |
platform-url: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MiniCore:avr:168:variant=modelPB | |
platform-url: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MiniCore:avr:88:variant=modelNonP | |
platform-url: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MiniCore:avr:88:variant=modelP | |
platform-url: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MiniCore:avr:88:variant=modelPB | |
platform-url: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MiniCore:avr:48:variant=modelNonP | |
platform-url: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MiniCore:avr:48:variant=modelP | |
platform-url: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MiniCore:avr:48:variant=modelPB | |
platform-url: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MiniCore:avr:8 | |
platform-url: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MightyCore:avr:1284 | |
platform-url: https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MightyCore:avr:644 | |
platform-url: https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MightyCore:avr:324 | |
platform-url: https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MightyCore:avr:164 | |
platform-url: https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MightyCore:avr:32 | |
platform-url: https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MightyCore:avr:16 | |
platform-url: https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MightyCore:avr:8535 | |
platform-url: https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MegaCore:avr:2560 | |
platform-url: https://mcudude.github.io/MegaCore/package_MCUdude_MegaCore_index.json | |
sketches-exclude: calibServer | |
- arduino-boards-fqbn: MegaCore:avr:1280 | |
platform-url: https://mcudude.github.io/MegaCore/package_MCUdude_MegaCore_index.json | |
sketches-exclude: calibServer | |
# Do not cancel all jobs / architectures if one job fails | |
fail-fast: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@master | |
- name: Checkout custom library | |
uses: actions/checkout@master | |
with: | |
repository: felias-fogg/Vcc | |
ref: master | |
path: CustomLibrary | |
- name: Compile all examples | |
uses: ArminJo/arduino-test-compile@master | |
with: | |
arduino-board-fqbn: ${{ matrix.arduino-boards-fqbn }} | |
platform-url: ${{ matrix.platform-url }} | |
sketches-exclude: ${{ matrix.sketches-exclude }} | |
build-properties: ${{ toJson(matrix.build-properties) }} | |