-
Notifications
You must be signed in to change notification settings - Fork 81
101 lines (91 loc) · 4.29 KB
/
BuildLibrary.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# 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:avr:uno
- arduino:avr:leonardo
- arduino:samd:nano_33_iot
- arduino:mbed:nano33ble
- 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:avr:uno
build-properties:
All:
-DDEBUG
-DUS_915
- arduino-boards-fqbn: arduino:avr:leonardo
build-properties:
All:
-DDEBUG
-DUS_915
- arduino-boards-fqbn: arduino:samd:nano_33_iot
build-properties:
All:
-DDEBUG
-DUS_915
- arduino-boards-fqbn: arduino:mbed:nano33ble
build-properties:
All:
-DDEBUG
-DUS_915
- arduino-boards-fqbn: esp8266:esp8266:huzzah:eesz=4M3M,xtal=80
platform-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
build-properties:
All:
-DDEBUG
-DUS_915
- arduino-boards-fqbn: rp2040:rp2040:generic
platform-url: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
build-properties:
All:
-DDEBUG
-DUS_915
- 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
build-properties:
All:
-DDEBUG
-DUS_915
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 }}
build-properties: ${{ toJson(matrix.build-properties) }}
extra-arduino-cli-args: ${{ matrix.extra-arduino-cli-args }}