1
+ name : Compile Examples
2
+
3
+ on : [pull_request, push]
4
+
5
+ jobs :
6
+ compile-test :
7
+ runs-on : ubuntu-latest
8
+
9
+ env :
10
+ # libraries to install for all boards
11
+ UNIVERSAL_LIBRARIES : ' "MFRC522" "Keyboard" "Mouse" "Servo" "LiquidCrystal" "CapacitiveSensor"'
12
+ # sketch paths to compile (recursive) for all boards
13
+ UNIVERSAL_SKETCH_PATHS: '"extras/shared/examples" "libraries/Wire" "libraries/USBHost" "libraries/SPI" "libraries/SFU/examples/SFU_LoadBinary" "libraries/SAMD_AnalogCorrection" "~/Arduino/libraries/Keyboard/examples/Serial" "~/Arduino/libraries/Servo/examples" "~/Arduino/libraries/LiquidCrystal/examples" "~/Arduino/libraries/Ethernet/examples" "~/Arduino/libraries/SD/examples" "~/Arduino/libraries/WiFi/examples" "~/Arduino/libraries/Arduino_LSM9DS1/examples" "~/Arduino/libraries/Arduino_JSON/examples" "~/Arduino/libraries/MFRC522/examples/ChangeUID" "~/Arduino/libraries/MFRC522/examples/DumpInfo" "~/Arduino/libraries/MFRC522/examples/FixBrickedUID" "~/Arduino/libraries/MFRC522/examples/MifareClassicValueBlock" "~/Arduino/libraries/MFRC522/examples/MinimalInterrupt" "~/Arduino/libraries/MFRC522/examples/Ntag216_AUTH" "~/Arduino/libraries/MFRC522/examples/RFID-Cloner" "~/Arduino/libraries/MFRC522/examples/ReadAndWrite" "~/Arduino/libraries/MFRC522/examples/ReadNUID" "~/Arduino/libraries/MFRC522/examples/ReadUidMultiReader" "~/Arduino/libraries/MFRC522/examples/firmware_check" "~/Arduino/libraries/MFRC522/examples/rfid_default_keys" "~/Arduino/libraries/MFRC522/examples/rfid_read_personal_data" "~/Arduino/libraries/MFRC522/examples/rfid_write_personal_data"'
14
+
15
+ strategy :
16
+ fail-fast : false
17
+
18
+ matrix :
19
+ board : [
20
+ {"fqbn": "arduino:samd:arduino_zero_edbg", "type": "usb"}, # normal
21
+ {"fqbn": "arduino:samd:arduino_zero_native", "type": "usb"},
22
+ {"fqbn": "arduino:samd:mkr1000", "type": "usb"},
23
+ {"fqbn": "arduino:samd:mkrzero", "type": "usb"},
24
+ {"fqbn": "arduino:samd:mkrwifi1010", "type": "mkrwifi_nb1500"},
25
+ {"fqbn": "arduino:samd:nano_33_iot", "type": "nano_mkrwan1310"},
26
+ {"fqbn": "arduino:samd:mkrfox1200", "type": "usb"},
27
+ {"fqbn": "arduino:samd:mkrwan1300", "type": "usb"},
28
+ {"fqbn": "arduino:samd:mkrwan1310", "type": "nano_mkrwan1310"},
29
+ {"fqbn": "arduino:samd:mkrgsm1400", "type": "usb"},
30
+ {"fqbn": "arduino:samd:mkrnb1500", "type": "mkrwifi_nb1500"},
31
+ {"fqbn": "arduino:samd:mkrvidor4000", "type": "vidor"},
32
+ {"fqbn": "arduino:samd:adafruit_circuitplayground_m0", "type": "adafruit_playg"},
33
+ {"fqbn": "arduino:samd:mzero_pro_bl_dbg", "type": "mzero"}, # normal
34
+ {"fqbn": "arduino:samd:mzero_pro_bl", "type": "mzero"},
35
+ {"fqbn": "arduino:samd:mzero_bl", "type": "mzero"},
36
+ {"fqbn": "arduino:samd:tian", "type": "tian"} # ,
37
+ #{"fqbn": "arduino:samd:tian_cons", "type": "usb"} # normal
38
+ ]
39
+
40
+ # make board type-specific customizations to the matrix jobs
41
+ include :
42
+ # Normal USB boards with all the general libraries
43
+ - board :
44
+ type : " usb"
45
+ additional-sketch-paths : ' "~/Arduino/libraries/Firmata/examples/StandardFirmataPlus" "~/Arduino/libraries/Firmata/examples/StandardFirmataEthernet" "~/Arduino/libraries/Firmata/examples/StandardFirmata" "~/Arduino/libraries/Firmata/examples/SimpleDigitalFirmata" "~/Arduino/libraries/Firmata/examples/SimpleAnalogFirmata" "~/Arduino/libraries/Firmata/examples/ServoFirmata" "~/Arduino/libraries/Firmata/examples/EchoString" "~/Arduino/libraries/Firmata/examples/AnalogFirmata" "~/Arduino/libraries/Firmata/examples/AllInputsFirmata" "libraries/I2S/examples" "libraries/SDU/examples"'
46
+ # Vidor board
47
+ - board :
48
+ type : " vidor"
49
+ additional-sketch-paths : ' "libraries/SAMD_BootloaderUpdater/examples" "libraries/I2S/examples"'
50
+ # mkrwifi1010 and mkrnb1500 boards
51
+ - board :
52
+ type : " mkrwifi_nb1500"
53
+ additional-sketch-paths : ' "libraries/I2S/examples" "libraries/SDU/examples"'
54
+ # nano_33_iot and mkrwan1310 boards
55
+ - board :
56
+ type : " nano_mkrwan1310"
57
+ additional-sketch-paths : " libraries/I2S/examples"
58
+ # adafruit_cicrcuitplayground board
59
+ - board :
60
+ type : " adafruit_playg"
61
+ additional-sketch-paths : " libraries/SDU/examples"
62
+ # mzero boards
63
+ - board :
64
+ type : " mzero"
65
+ additional-sketch-paths : ' "~/Arduino/libraries/Firmata/examples/StandardFirmataPlus" "~/Arduino/libraries/Firmata/examples/StandardFirmataEthernet" "~/Arduino/libraries/Firmata/examples/StandardFirmata" "~/Arduino/libraries/Firmata/examples/SimpleDigitalFirmata" "~/Arduino/libraries/Firmata/examples/SimpleAnalogFirmata" "~/Arduino/libraries/Firmata/examples/ServoFirmata" "~/Arduino/libraries/Firmata/examples/EchoString" "~/Arduino/libraries/Firmata/examples/AnalogFirmata" "~/Arduino/libraries/Firmata/examples/AllInputsFirmata" "libraries/SDU/examples"'
66
+ # tian board
67
+ - board :
68
+ type : " tian"
69
+ additional-sketch-paths : ' "~/Arduino/libraries/Firmata/examples/StandardFirmataPlus" "~/Arduino/libraries/Firmata/examples/StandardFirmataEthernet" "~/Arduino/libraries/Firmata/examples/StandardFirmata" "~/Arduino/libraries/Firmata/examples/SimpleDigitalFirmata" "~/Arduino/libraries/Firmata/examples/SimpleAnalogFirmata" "~/Arduino/libraries/Firmata/examples/ServoFirmata" "~/Arduino/libraries/Firmata/examples/EchoString" "~/Arduino/libraries/Firmata/examples/AnalogFirmata" "~/Arduino/libraries/Firmata/examples/AllInputsFirmata"'
70
+
71
+ steps :
72
+ - name : Checkout repository
73
+ uses : actions/checkout@v2
74
+
75
+ # The source files are in a subfolder of the ArduinoCore-API repository, so it's not possible to clone it directly to the final destination in the core
76
+ - name : Checkout ArduinoCore-API
77
+ uses : actions/checkout@v2
78
+ with :
79
+ repository : arduino/ArduinoCore-API
80
+ path : extras/ArduinoCore-API
81
+
82
+ - name : Install ArduinoCore-API
83
+ run : mv "$GITHUB_WORKSPACE/extras/ArduinoCore-API/api" "$GITHUB_WORKSPACE/cores/arduino"
84
+
85
+ - name : Checkout Adafruit WiFiNINA
86
+ uses : actions/checkout@v2
87
+ with :
88
+ repository : adafruit/WiFiNINA
89
+ path : adafruit/WiFiNINA
90
+
91
+ - name : Compile examples
92
+ uses : per1234/actions/libraries/compile-examples@master
93
+ with :
94
+ fqbn : ${{ matrix.board.fqbn }}
95
+ libraries : |
96
+ - name: MFRC522
97
+ - name: Arduino_MKRMEM
98
+ - name: FlashStorage
99
+ - source-url: https://github.com/arduino-libraries/Keyboard.git
100
+ - name: Mouse
101
+ - name: Servo
102
+ - name: LiquidCrystal
103
+ - name: CapacitiveSensor
104
+ - name: Ethernet
105
+ - name: ArduinoBearSSL
106
+ - name: Arduino_APDS9960
107
+ - name: Servo
108
+ - name: Arduino_LSM9DS1
109
+ - name: ArduinoHttpClient
110
+ - name: NTPClient
111
+ - name: TFT
112
+ - name: ArduinoMqttClient
113
+ - name: Arduino_CRC32
114
+ - name: Arduino_LSM6DS3
115
+ - name: Stepper
116
+ - name: SD
117
+ - name: WiFi101
118
+ - name: Arduino_JSON
119
+ - name: Arduino_HTS221
120
+ - name: Firmata
121
+ - name: ArduinoMotorCarrier
122
+ - name: ArduinoCloudThing
123
+ - name: Arduino_DebugUtils
124
+ - name: WiFi Link
125
+ - name: Arduino_LPS22HB
126
+ - name: CTC GO MOTIONS
127
+ - name: ArduinoModbus
128
+ - name: ArduinoIoTCloudBearSSL
129
+ - name: ArduinoDMX
130
+ - name: ArduinoRS485
131
+ - name: Arduino_OAuth
132
+ - name: CTC GO CORE
133
+ - name: WiFi
134
+ - name: Bridge
135
+ - name: Temboo
136
+ - name: ArduinoIoTCloud
137
+ - name: Madgwick
138
+ platforms : |
139
+ # Use Board Manager to install the latest release of Arduino megaAVR Boards to get the toolchain
140
+ - name: "arduino:samd"
141
+ # Overwrite the Board Manager installation with the local platform
142
+ - source-path: "./"
143
+ name: "arduino:samd"
144
+ sketch-paths : " ${{ env.UNIVERSAL_SKETCH_PATHS }} ${{ matrix.additional-sketch-paths }}"
145
+ enable-size-deltas-report : ' true'
146
+ verbose : ' true'
0 commit comments