From cc557a442b26b31f32af2b616a4a50b4fb1a368a Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Tue, 1 Sep 2020 11:49:17 +0200 Subject: [PATCH 01/28] Add compile example for CI --- .github/workflows/compile-examples.yml | 146 +++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 .github/workflows/compile-examples.yml diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml new file mode 100644 index 000000000..a6aba0e1a --- /dev/null +++ b/.github/workflows/compile-examples.yml @@ -0,0 +1,146 @@ +name: Compile Examples + +on: [pull_request, push] + +jobs: + compile-test: + runs-on: ubuntu-latest + + env: + # libraries to install for all boards + UNIVERSAL_LIBRARIES: '"MFRC522" "Keyboard" "Mouse" "Servo" "LiquidCrystal" "CapacitiveSensor"' + # sketch paths to compile (recursive) for all boards + 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"' + + strategy: + fail-fast: false + + matrix: + board: [ + {"fqbn": "arduino:samd:arduino_zero_edbg", "type": "usb"}, #normal + {"fqbn": "arduino:samd:arduino_zero_native", "type": "usb"}, + {"fqbn": "arduino:samd:mkr1000", "type": "usb"}, + {"fqbn": "arduino:samd:mkrzero", "type": "usb"}, + {"fqbn": "arduino:samd:mkrwifi1010", "type": "mkrwifi_nb1500"}, + {"fqbn": "arduino:samd:nano_33_iot", "type": "nano_mkrwan1310"}, + {"fqbn": "arduino:samd:mkrfox1200", "type": "usb"}, + {"fqbn": "arduino:samd:mkrwan1300", "type": "usb"}, + {"fqbn": "arduino:samd:mkrwan1310", "type": "nano_mkrwan1310"}, + {"fqbn": "arduino:samd:mkrgsm1400", "type": "usb"}, + {"fqbn": "arduino:samd:mkrnb1500", "type": "mkrwifi_nb1500"}, + {"fqbn": "arduino:samd:mkrvidor4000", "type": "vidor"}, + {"fqbn": "arduino:samd:adafruit_circuitplayground_m0", "type": "adafruit_playg"}, + {"fqbn": "arduino:samd:mzero_pro_bl_dbg", "type": "mzero"}, #normal + {"fqbn": "arduino:samd:mzero_pro_bl", "type": "mzero"}, + {"fqbn": "arduino:samd:mzero_bl", "type": "mzero"}, + {"fqbn": "arduino:samd:tian", "type": "tian"} #, + #{"fqbn": "arduino:samd:tian_cons", "type": "usb"} #normal + ] + + # make board type-specific customizations to the matrix jobs + include: + # Normal USB boards with all the general libraries + - board: + type: "usb" + 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"' + # Vidor board + - board: + type: "vidor" + additional-sketch-paths: '"libraries/SAMD_BootloaderUpdater/examples" "libraries/I2S/examples"' + # mkrwifi1010 and mkrnb1500 boards + - board: + type: "mkrwifi_nb1500" + additional-sketch-paths: '"libraries/I2S/examples" "libraries/SDU/examples"' + # nano_33_iot and mkrwan1310 boards + - board: + type: "nano_mkrwan1310" + additional-sketch-paths: "libraries/I2S/examples" + # adafruit_cicrcuitplayground board + - board: + type: "adafruit_playg" + additional-sketch-paths: "libraries/SDU/examples" + # mzero boards + - board: + type: "mzero" + 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"' + # tian board + - board: + type: "tian" + 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"' + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + # 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 + - name: Checkout ArduinoCore-API + uses: actions/checkout@v2 + with: + repository: arduino/ArduinoCore-API + path: extras/ArduinoCore-API + + - name: Install ArduinoCore-API + run: mv "$GITHUB_WORKSPACE/extras/ArduinoCore-API/api" "$GITHUB_WORKSPACE/cores/arduino" + + - name: Checkout Adafruit WiFiNINA + uses: actions/checkout@v2 + with: + repository: adafruit/WiFiNINA + path: adafruit/WiFiNINA + + - name: Compile examples + uses: per1234/actions/libraries/compile-examples@master + with: + fqbn: ${{ matrix.board.fqbn }} + libraries: | + - name: MFRC522 + - name: Arduino_MKRMEM + - name: FlashStorage + - source-url: https://github.com/arduino-libraries/Keyboard.git + - name: Mouse + - name: Servo + - name: LiquidCrystal + - name: CapacitiveSensor + - name: Ethernet + - name: ArduinoBearSSL + - name: Arduino_APDS9960 + - name: Servo + - name: Arduino_LSM9DS1 + - name: ArduinoHttpClient + - name: NTPClient + - name: TFT + - name: ArduinoMqttClient + - name: Arduino_CRC32 + - name: Arduino_LSM6DS3 + - name: Stepper + - name: SD + - name: WiFi101 + - name: Arduino_JSON + - name: Arduino_HTS221 + - name: Firmata + - name: ArduinoMotorCarrier + - name: ArduinoCloudThing + - name: Arduino_DebugUtils + - name: WiFi Link + - name: Arduino_LPS22HB + - name: CTC GO MOTIONS + - name: ArduinoModbus + - name: ArduinoIoTCloudBearSSL + - name: ArduinoDMX + - name: ArduinoRS485 + - name: Arduino_OAuth + - name: CTC GO CORE + - name: WiFi + - name: Bridge + - name: Temboo + - name: ArduinoIoTCloud + - name: Madgwick + platforms: | + # Use Board Manager to install the latest release of Arduino megaAVR Boards to get the toolchain + - name: "arduino:samd" + # Overwrite the Board Manager installation with the local platform + - source-path: "./" + name: "arduino:samd" + sketch-paths: "${{ env.UNIVERSAL_SKETCH_PATHS }} ${{ matrix.additional-sketch-paths }}" + enable-size-deltas-report: 'true' + verbose: 'true' \ No newline at end of file From 2691b30e1ee189db1c2d0f5a24705669d7714c79 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Wed, 2 Sep 2020 09:41:08 +0200 Subject: [PATCH 02/28] Use branch namespaced_api_Hardware of ArduinoCore-API --- .github/workflows/compile-examples.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index a6aba0e1a..78d9bd998 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -76,7 +76,8 @@ jobs: - name: Checkout ArduinoCore-API uses: actions/checkout@v2 with: - repository: arduino/ArduinoCore-API + repository: giulcioffi/ArduinoCore-API + ref: namespaced_api_Hardware path: extras/ArduinoCore-API - name: Install ArduinoCore-API From 64f2aeebb454212ca23c899d920831e985d8787d Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Wed, 2 Sep 2020 10:33:33 +0200 Subject: [PATCH 03/28] Disable size-delta-report and use arduino path for compile example step --- .github/workflows/compile-examples.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 78d9bd998..5fae1c936 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -90,7 +90,7 @@ jobs: path: adafruit/WiFiNINA - name: Compile examples - uses: per1234/actions/libraries/compile-examples@master + uses: arduino/actions/libraries/compile-examples@master with: fqbn: ${{ matrix.board.fqbn }} libraries: | @@ -143,5 +143,5 @@ jobs: - source-path: "./" name: "arduino:samd" sketch-paths: "${{ env.UNIVERSAL_SKETCH_PATHS }} ${{ matrix.additional-sketch-paths }}" - enable-size-deltas-report: 'true' + enable-size-deltas-report: 'false' verbose: 'true' \ No newline at end of file From 3139e3587ffa5ad52d2c338323682e4781087c76 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 15 Oct 2020 11:34:34 +0200 Subject: [PATCH 04/28] Use official branch of ArduinoCore-API --- .github/workflows/compile-examples.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 5fae1c936..ac5514169 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -76,8 +76,7 @@ jobs: - name: Checkout ArduinoCore-API uses: actions/checkout@v2 with: - repository: giulcioffi/ArduinoCore-API - ref: namespaced_api_Hardware + repository: arduino/ArduinoCore-API path: extras/ArduinoCore-API - name: Install ArduinoCore-API From f7c8d00b13b58ad653eeac3ab99d136aa9c6e7a4 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Wed, 2 Sep 2020 13:15:30 +0200 Subject: [PATCH 05/28] Add MKRGSM, MKRNB, MKRWAN, WiFi101 --- .github/workflows/compile-examples.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index ac5514169..75ecb8a34 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -67,6 +67,22 @@ jobs: - board: type: "tian" 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"' + # MKRGSM1400 board + - board: + fqbn: "arduino:samd:mkrgsm1400" + additional-sketch-paths: "~/Arduino/libraries/MKRGSM/examples" + # MKRNB1500 board + - board: + fqbn: "arduino:samd:mkrnb1500" + additional-sketch-paths: "~/Arduino/libraries/MKRNB/examples" + # MKRWAN board + - board: + fqbn: '"arduino:samd:mkrwan1300" "arduino:samd:mkrwan1310"' + additional-sketch-paths: "~/Arduino/libraries/MKRWAN/examples" + # WiFi101 + - board: + type: "usb" + additional-sketch-paths: "~/Arduino/libraries/WiFi101/examples" steps: - name: Checkout repository @@ -135,6 +151,10 @@ jobs: - name: Temboo - name: ArduinoIoTCloud - name: Madgwick + - name: MKRGSM + - name: MKRNB + - name: MKRWAN + - name: WiFi101 platforms: | # Use Board Manager to install the latest release of Arduino megaAVR Boards to get the toolchain - name: "arduino:samd" From e9e9e8b8dd18cb6c9dcc9ee92e53ef16f1c8a5d0 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Wed, 2 Sep 2020 14:37:56 +0200 Subject: [PATCH 06/28] Compile all the libraries + WiFi101 from namespaced_api branch --- .github/workflows/compile-examples.yml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 75ecb8a34..08f739b58 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -10,7 +10,7 @@ jobs: # libraries to install for all boards UNIVERSAL_LIBRARIES: '"MFRC522" "Keyboard" "Mouse" "Servo" "LiquidCrystal" "CapacitiveSensor"' # sketch paths to compile (recursive) for all boards - 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"' + 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" "~/Arduino/libraries/WiFi101/examples"' strategy: fail-fast: false @@ -79,11 +79,7 @@ jobs: - board: fqbn: '"arduino:samd:mkrwan1300" "arduino:samd:mkrwan1310"' additional-sketch-paths: "~/Arduino/libraries/MKRWAN/examples" - # WiFi101 - - board: - type: "usb" - additional-sketch-paths: "~/Arduino/libraries/WiFi101/examples" - + steps: - name: Checkout repository uses: actions/checkout@v2 @@ -109,6 +105,8 @@ jobs: with: fqbn: ${{ matrix.board.fqbn }} libraries: | + - source-url: https://github.com/giulcioffi/WiFi101.git + version: namespaced_api - name: MFRC522 - name: Arduino_MKRMEM - name: FlashStorage @@ -130,7 +128,6 @@ jobs: - name: Arduino_LSM6DS3 - name: Stepper - name: SD - - name: WiFi101 - name: Arduino_JSON - name: Arduino_HTS221 - name: Firmata @@ -154,7 +151,6 @@ jobs: - name: MKRGSM - name: MKRNB - name: MKRWAN - - name: WiFi101 platforms: | # Use Board Manager to install the latest release of Arduino megaAVR Boards to get the toolchain - name: "arduino:samd" From 1a6ef450e0800c20cee13f5df7acc2d77093ae60 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 3 Sep 2020 11:02:27 +0200 Subject: [PATCH 07/28] Install ArduinoIoTCloud + dependencies from the repository instead of Boards manager --- .github/workflows/compile-examples.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 08f739b58..3fe20cc3d 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -146,7 +146,11 @@ jobs: - name: WiFi - name: Bridge - name: Temboo - - name: ArduinoIoTCloud + - name: Arduino_ConnectionHandler + - name: ArduinoECCX08 + - name: RTCZero + - source-url: https://github.com/arduino-libraries/ArduinoIoTCloud.git + version: latest - name: Madgwick - name: MKRGSM - name: MKRNB From 7d18af85477636a1091fd6434c43c97afa2d1de3 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 3 Sep 2020 11:27:37 +0200 Subject: [PATCH 08/28] Install Arduino_ConnectionHandler from the repository instead of Boards manager --- .github/workflows/compile-examples.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 3fe20cc3d..57cb0ad8c 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -146,7 +146,8 @@ jobs: - name: WiFi - name: Bridge - name: Temboo - - name: Arduino_ConnectionHandler + - source-url: https://github.com/arduino-libraries/Arduino_ConnectionHandler.git + version: latest - name: ArduinoECCX08 - name: RTCZero - source-url: https://github.com/arduino-libraries/ArduinoIoTCloud.git From 0ed98c24a590e667985585b949c60b32e4799b20 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 3 Sep 2020 12:22:58 +0200 Subject: [PATCH 09/28] Compile LoRa library --- .github/workflows/compile-examples.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 57cb0ad8c..d3d60eb1a 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -155,6 +155,7 @@ jobs: - name: Madgwick - name: MKRGSM - name: MKRNB + - name: LoRa - name: MKRWAN platforms: | # Use Board Manager to install the latest release of Arduino megaAVR Boards to get the toolchain From 4f861fdd1e64627e96dd3bbc04f68245930bdd8d Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Fri, 4 Sep 2020 09:39:30 +0200 Subject: [PATCH 10/28] Remove intallation of libraries which are dependencies of ArduinoIoTCloud --- .github/workflows/compile-examples.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index d3d60eb1a..c987f424d 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -146,12 +146,7 @@ jobs: - name: WiFi - name: Bridge - name: Temboo - - source-url: https://github.com/arduino-libraries/Arduino_ConnectionHandler.git - version: latest - - name: ArduinoECCX08 - - name: RTCZero - - source-url: https://github.com/arduino-libraries/ArduinoIoTCloud.git - version: latest + - name: ArduinoIoTCloud - name: Madgwick - name: MKRGSM - name: MKRNB From c3f8a971699e21c70b54d3c30f3ed8753c813156 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 10 Sep 2020 09:30:21 +0200 Subject: [PATCH 11/28] Compile only when a relevant file is modified --- .github/workflows/compile-examples.yml | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index c987f424d..79c73ded0 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -1,6 +1,22 @@ name: Compile Examples -on: [pull_request, push] +on: + pull_request: + paths: + - ".github/workflows/compile-examples.yml" + - "cores/**" + - "libraries/**" + - "variants/**" + - "boards.txt" + - "platform.txt" + push: + paths: + - ".github/workflows/compile-examples.yml" + - "cores/**" + - "libraries/**" + - "variants/**" + - "boards.txt" + - "platform.txt" jobs: compile-test: @@ -118,7 +134,6 @@ jobs: - name: Ethernet - name: ArduinoBearSSL - name: Arduino_APDS9960 - - name: Servo - name: Arduino_LSM9DS1 - name: ArduinoHttpClient - name: NTPClient From c8693a3531837872ca6f871ad3796179010354d8 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 10 Sep 2020 09:57:00 +0200 Subject: [PATCH 12/28] Remove examples from extras and add step to download them --- .github/workflows/compile-examples.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 79c73ded0..b7d7ed5b0 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -26,7 +26,7 @@ jobs: # libraries to install for all boards UNIVERSAL_LIBRARIES: '"MFRC522" "Keyboard" "Mouse" "Servo" "LiquidCrystal" "CapacitiveSensor"' # sketch paths to compile (recursive) for all boards - 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" "~/Arduino/libraries/WiFi101/examples"' + UNIVERSAL_SKETCH_PATHS: '"extras/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" "~/Arduino/libraries/WiFi101/examples"' strategy: fail-fast: false @@ -116,6 +116,12 @@ jobs: repository: adafruit/WiFiNINA path: adafruit/WiFiNINA + - name: Checkout Basic examples + uses: actions/checkout@v2 + with: + repository: arduino/arduino-examples + path: extras + - name: Compile examples uses: arduino/actions/libraries/compile-examples@master with: From 0bff8ae017540b63e22bb4ce39c5c1ffab35ea49 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 10 Sep 2020 10:12:49 +0200 Subject: [PATCH 13/28] Use list mode for sketches --- .github/workflows/compile-examples.yml | 94 ++++++++++++++++++++++---- 1 file changed, 82 insertions(+), 12 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index b7d7ed5b0..bb12cc6d3 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -26,7 +26,36 @@ jobs: # libraries to install for all boards UNIVERSAL_LIBRARIES: '"MFRC522" "Keyboard" "Mouse" "Servo" "LiquidCrystal" "CapacitiveSensor"' # sketch paths to compile (recursive) for all boards - UNIVERSAL_SKETCH_PATHS: '"extras/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" "~/Arduino/libraries/WiFi101/examples"' + UNIVERSAL_SKETCH_PATHS: | + - extras/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 + - ~/Arduino/libraries/WiFi101/examples strategy: fail-fast: false @@ -58,43 +87,82 @@ jobs: # Normal USB boards with all the general libraries - board: type: "usb" - 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"' + 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 # Vidor board - board: type: "vidor" - additional-sketch-paths: '"libraries/SAMD_BootloaderUpdater/examples" "libraries/I2S/examples"' + additional-sketch-paths: | + - libraries/SAMD_BootloaderUpdater/examples + - libraries/I2S/examples # mkrwifi1010 and mkrnb1500 boards - board: type: "mkrwifi_nb1500" - additional-sketch-paths: '"libraries/I2S/examples" "libraries/SDU/examples"' + additional-sketch-paths: | + - libraries/I2S/examples + - libraries/SDU/examples # nano_33_iot and mkrwan1310 boards - board: type: "nano_mkrwan1310" - additional-sketch-paths: "libraries/I2S/examples" + additional-sketch-paths: | + - libraries/I2S/examples # adafruit_cicrcuitplayground board - board: type: "adafruit_playg" - additional-sketch-paths: "libraries/SDU/examples" + additional-sketch-paths: | + - libraries/SDU/examples # mzero boards - board: type: "mzero" - 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"' + 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 # tian board - board: type: "tian" - 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"' + 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 # MKRGSM1400 board - board: fqbn: "arduino:samd:mkrgsm1400" - additional-sketch-paths: "~/Arduino/libraries/MKRGSM/examples" + additional-sketch-paths: | + - ~/Arduino/libraries/MKRGSM/examples # MKRNB1500 board - board: fqbn: "arduino:samd:mkrnb1500" - additional-sketch-paths: "~/Arduino/libraries/MKRNB/examples" + additional-sketch-paths: | + - ~/Arduino/libraries/MKRNB/examples # MKRWAN board - board: fqbn: '"arduino:samd:mkrwan1300" "arduino:samd:mkrwan1310"' - additional-sketch-paths: "~/Arduino/libraries/MKRWAN/examples" + additional-sketch-paths: | + - ~/Arduino/libraries/MKRWAN/examples steps: - name: Checkout repository @@ -179,6 +247,8 @@ jobs: # Overwrite the Board Manager installation with the local platform - source-path: "./" name: "arduino:samd" - sketch-paths: "${{ env.UNIVERSAL_SKETCH_PATHS }} ${{ matrix.additional-sketch-paths }}" + sketch-paths: | + ${{ env.UNIVERSAL_SKETCH_PATHS }} + ${{ matrix.additional-sketch-paths }} enable-size-deltas-report: 'false' verbose: 'true' \ No newline at end of file From 00dca72f7957cff57be2c43d94c8ad3fd38835e1 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 10 Sep 2020 10:14:40 +0200 Subject: [PATCH 14/28] Remove universal libraries entry --- .github/workflows/compile-examples.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index bb12cc6d3..7503bb460 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -23,8 +23,6 @@ jobs: runs-on: ubuntu-latest env: - # libraries to install for all boards - UNIVERSAL_LIBRARIES: '"MFRC522" "Keyboard" "Mouse" "Servo" "LiquidCrystal" "CapacitiveSensor"' # sketch paths to compile (recursive) for all boards UNIVERSAL_SKETCH_PATHS: | - extras/examples From f2dd55a89df9ff8bd8f66d4f7bb98c5050b70705 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 10 Sep 2020 10:54:18 +0200 Subject: [PATCH 15/28] Remove WiFiNINA step and compile its examples --- .github/workflows/compile-examples.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 7503bb460..b91887664 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -54,6 +54,7 @@ jobs: - ~/Arduino/libraries/MFRC522/examples/rfid_read_personal_data - ~/Arduino/libraries/MFRC522/examples/rfid_write_personal_data - ~/Arduino/libraries/WiFi101/examples + - ~/Arduino/libraries/WiFiNINA/examples strategy: fail-fast: false @@ -176,12 +177,6 @@ jobs: - name: Install ArduinoCore-API run: mv "$GITHUB_WORKSPACE/extras/ArduinoCore-API/api" "$GITHUB_WORKSPACE/cores/arduino" - - name: Checkout Adafruit WiFiNINA - uses: actions/checkout@v2 - with: - repository: adafruit/WiFiNINA - path: adafruit/WiFiNINA - - name: Checkout Basic examples uses: actions/checkout@v2 with: @@ -239,6 +234,7 @@ jobs: - name: MKRNB - name: LoRa - name: MKRWAN + - name: WiFiNINA platforms: | # Use Board Manager to install the latest release of Arduino megaAVR Boards to get the toolchain - name: "arduino:samd" @@ -248,5 +244,5 @@ jobs: sketch-paths: | ${{ env.UNIVERSAL_SKETCH_PATHS }} ${{ matrix.additional-sketch-paths }} - enable-size-deltas-report: 'false' + enable-deltas-report: 'false' verbose: 'true' \ No newline at end of file From 2990e4c47ba8fd0d7e18ed2f47ee11ae80f25b6c Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 10 Sep 2020 11:17:57 +0200 Subject: [PATCH 16/28] Assign a unique type to mkrwifi1010, nano33IoT, mkrwan1310 and mkrNB1500 --- .github/workflows/compile-examples.yml | 30 ++++++++++++++++++-------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index b91887664..f85fcf278 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -54,7 +54,6 @@ jobs: - ~/Arduino/libraries/MFRC522/examples/rfid_read_personal_data - ~/Arduino/libraries/MFRC522/examples/rfid_write_personal_data - ~/Arduino/libraries/WiFi101/examples - - ~/Arduino/libraries/WiFiNINA/examples strategy: fail-fast: false @@ -65,13 +64,13 @@ jobs: {"fqbn": "arduino:samd:arduino_zero_native", "type": "usb"}, {"fqbn": "arduino:samd:mkr1000", "type": "usb"}, {"fqbn": "arduino:samd:mkrzero", "type": "usb"}, - {"fqbn": "arduino:samd:mkrwifi1010", "type": "mkrwifi_nb1500"}, - {"fqbn": "arduino:samd:nano_33_iot", "type": "nano_mkrwan1310"}, + {"fqbn": "arduino:samd:mkrwifi1010", "type": "mkrWiFi1010"}, + {"fqbn": "arduino:samd:nano_33_iot", "type": "nano33IoT"}, {"fqbn": "arduino:samd:mkrfox1200", "type": "usb"}, {"fqbn": "arduino:samd:mkrwan1300", "type": "usb"}, - {"fqbn": "arduino:samd:mkrwan1310", "type": "nano_mkrwan1310"}, + {"fqbn": "arduino:samd:mkrwan1310", "type": "mkrwan1310"}, {"fqbn": "arduino:samd:mkrgsm1400", "type": "usb"}, - {"fqbn": "arduino:samd:mkrnb1500", "type": "mkrwifi_nb1500"}, + {"fqbn": "arduino:samd:mkrnb1500", "type": "mkrNB1500"}, {"fqbn": "arduino:samd:mkrvidor4000", "type": "vidor"}, {"fqbn": "arduino:samd:adafruit_circuitplayground_m0", "type": "adafruit_playg"}, {"fqbn": "arduino:samd:mzero_pro_bl_dbg", "type": "mzero"}, #normal @@ -104,15 +103,28 @@ jobs: additional-sketch-paths: | - libraries/SAMD_BootloaderUpdater/examples - libraries/I2S/examples - # mkrwifi1010 and mkrnb1500 boards + # mkrwifi1010 - board: - type: "mkrwifi_nb1500" + type: "mkrWiFi1010" additional-sketch-paths: | - libraries/I2S/examples - libraries/SDU/examples - # nano_33_iot and mkrwan1310 boards + - ~/Arduino/libraries/WiFiNINA/examples + # mkrnb1500 boards - board: - type: "nano_mkrwan1310" + type: "mkrNB1500" + additional-sketch-paths: | + - libraries/I2S/examples + - libraries/SDU/examples + # nano_33_iot + - board: + type: "nano33IoT" + additional-sketch-paths: | + - libraries/I2S/examples + - ~/Arduino/libraries/WiFiNINA/examples + # mkrwan1310 + - board: + type: "mkrwan1310" additional-sketch-paths: | - libraries/I2S/examples # adafruit_cicrcuitplayground board From 6db378eb04796bf0a7bb86074277892eeecec07f Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 10 Sep 2020 11:36:54 +0200 Subject: [PATCH 17/28] Remove comments --- .github/workflows/compile-examples.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index f85fcf278..9370fdbeb 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -60,7 +60,7 @@ jobs: matrix: board: [ - {"fqbn": "arduino:samd:arduino_zero_edbg", "type": "usb"}, #normal + {"fqbn": "arduino:samd:arduino_zero_edbg", "type": "usb"}, {"fqbn": "arduino:samd:arduino_zero_native", "type": "usb"}, {"fqbn": "arduino:samd:mkr1000", "type": "usb"}, {"fqbn": "arduino:samd:mkrzero", "type": "usb"}, @@ -73,11 +73,10 @@ jobs: {"fqbn": "arduino:samd:mkrnb1500", "type": "mkrNB1500"}, {"fqbn": "arduino:samd:mkrvidor4000", "type": "vidor"}, {"fqbn": "arduino:samd:adafruit_circuitplayground_m0", "type": "adafruit_playg"}, - {"fqbn": "arduino:samd:mzero_pro_bl_dbg", "type": "mzero"}, #normal + {"fqbn": "arduino:samd:mzero_pro_bl_dbg", "type": "mzero"}, {"fqbn": "arduino:samd:mzero_pro_bl", "type": "mzero"}, {"fqbn": "arduino:samd:mzero_bl", "type": "mzero"}, - {"fqbn": "arduino:samd:tian", "type": "tian"} #, - #{"fqbn": "arduino:samd:tian_cons", "type": "usb"} #normal + {"fqbn": "arduino:samd:tian", "type": "tian"} ] # make board type-specific customizations to the matrix jobs From d7d471b291917a9ee389776d86dc38e458155ee8 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 15 Oct 2020 11:40:22 +0200 Subject: [PATCH 18/28] Add report-size-delta action + step to upload artifact --- .github/workflows/compile-examples.yml | 10 ++++++++-- .github/workflows/report-size-deltas.yml | 13 +++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/report-size-deltas.yml diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 9370fdbeb..51557ca29 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -255,5 +255,11 @@ jobs: sketch-paths: | ${{ env.UNIVERSAL_SKETCH_PATHS }} ${{ matrix.additional-sketch-paths }} - enable-deltas-report: 'false' - verbose: 'true' \ No newline at end of file + enable-deltas-report: 'true' + verbose: 'true' + + - name: Save memory usage change report as artifact + uses: actions/upload-artifact@v1 + with: + name: size-deltas-reports + path: size-deltas-reports \ No newline at end of file diff --git a/.github/workflows/report-size-deltas.yml b/.github/workflows/report-size-deltas.yml new file mode 100644 index 000000000..a359b257e --- /dev/null +++ b/.github/workflows/report-size-deltas.yml @@ -0,0 +1,13 @@ +name: Report PR Size Deltas + +on: + schedule: + - cron: '*/5 * * * *' + +jobs: + report: + runs-on: ubuntu-latest + + steps: + - name: Comment size deltas reports to PRs + uses: arduino/actions/libraries/report-size-deltas@master \ No newline at end of file From 01f3e7458fc322c86381f1eca229126c8131da59 Mon Sep 17 00:00:00 2001 From: giulcioffi <46971818+giulcioffi@users.noreply.github.com> Date: Fri, 16 Oct 2020 09:11:49 +0200 Subject: [PATCH 19/28] Update names and paths for compile-sketches and report-size-deltas actions Co-authored-by: per1234 --- .github/workflows/compile-examples.yml | 4 ++-- .github/workflows/report-size-deltas.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 51557ca29..36149975d 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -195,7 +195,7 @@ jobs: path: extras - name: Compile examples - uses: arduino/actions/libraries/compile-examples@master + uses: arduino/compile-sketches@main with: fqbn: ${{ matrix.board.fqbn }} libraries: | @@ -262,4 +262,4 @@ jobs: uses: actions/upload-artifact@v1 with: name: size-deltas-reports - path: size-deltas-reports \ No newline at end of file + path: size-deltas-reports diff --git a/.github/workflows/report-size-deltas.yml b/.github/workflows/report-size-deltas.yml index a359b257e..4a7c2ba20 100644 --- a/.github/workflows/report-size-deltas.yml +++ b/.github/workflows/report-size-deltas.yml @@ -10,4 +10,4 @@ jobs: steps: - name: Comment size deltas reports to PRs - uses: arduino/actions/libraries/report-size-deltas@master \ No newline at end of file + uses: arduino/report-size-deltas@main From b47b2afeb2698db2871f07b7362fc3a6deb43c27 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 23 Nov 2020 15:04:09 +0100 Subject: [PATCH 20/28] Add VidorPeripherals to tesk sketches for MKR Vidor --- .github/workflows/compile-examples.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 36149975d..5b5d4fcbc 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -102,6 +102,7 @@ jobs: additional-sketch-paths: | - libraries/SAMD_BootloaderUpdater/examples - libraries/I2S/examples + - ~/Arduino/libraries/VidorPeripherals/examples # mkrwifi1010 - board: type: "mkrWiFi1010" @@ -246,6 +247,7 @@ jobs: - name: LoRa - name: MKRWAN - name: WiFiNINA + - source-url: https://github.com/vidor-libraries/VidorPeripherals.git platforms: | # Use Board Manager to install the latest release of Arduino megaAVR Boards to get the toolchain - name: "arduino:samd" From da63a92c1ac321a2fdd7d4581f94a07c0a4c3437 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 23 Nov 2020 15:21:52 +0100 Subject: [PATCH 21/28] Use master branch of library WiFi101 --- .github/workflows/compile-examples.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 5b5d4fcbc..58a9085e4 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -200,8 +200,7 @@ jobs: with: fqbn: ${{ matrix.board.fqbn }} libraries: | - - source-url: https://github.com/giulcioffi/WiFi101.git - version: namespaced_api + - source-url: https://github.com/arduino-libraries/WiFi101.git - name: MFRC522 - name: Arduino_MKRMEM - name: FlashStorage From dbf2e79d5fb2bd4725d9f46a93a70e3158815c83 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 23 Nov 2020 15:50:40 +0100 Subject: [PATCH 22/28] Use new mkrgsm1400-sketch-paths for MKR GSM1400 --- .github/workflows/compile-examples.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 58a9085e4..cfecb2f08 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -162,7 +162,7 @@ jobs: # MKRGSM1400 board - board: fqbn: "arduino:samd:mkrgsm1400" - additional-sketch-paths: | + mkrgsm1400-sketch-paths: | - ~/Arduino/libraries/MKRGSM/examples # MKRNB1500 board - board: From 857c99453c824913ce08c4c8500c62f0ca9a5f3a Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 23 Nov 2020 15:51:23 +0100 Subject: [PATCH 23/28] Update inputs for upload-artifact entries --- .github/workflows/compile-examples.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index cfecb2f08..df1fc311f 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -256,11 +256,12 @@ jobs: sketch-paths: | ${{ env.UNIVERSAL_SKETCH_PATHS }} ${{ matrix.additional-sketch-paths }} + ${{ matrix.mkrgsm1400-sketch-paths }} enable-deltas-report: 'true' verbose: 'true' - name: Save memory usage change report as artifact uses: actions/upload-artifact@v1 with: - name: size-deltas-reports - path: size-deltas-reports + name: sketches-reports + path: sketches-reports From 0dc7e0004cc1a121cba7b37ed185d5f24fdb6e3a Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 23 Nov 2020 15:58:20 +0100 Subject: [PATCH 24/28] Add WAN attribute to compile also examples from MKRWAN library for MKRWAN1300 and MKRWAN1310 --- .github/workflows/compile-examples.yml | 39 +++++++++++++------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index df1fc311f..4f5c38837 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -60,23 +60,23 @@ jobs: matrix: board: [ - {"fqbn": "arduino:samd:arduino_zero_edbg", "type": "usb"}, - {"fqbn": "arduino:samd:arduino_zero_native", "type": "usb"}, - {"fqbn": "arduino:samd:mkr1000", "type": "usb"}, - {"fqbn": "arduino:samd:mkrzero", "type": "usb"}, - {"fqbn": "arduino:samd:mkrwifi1010", "type": "mkrWiFi1010"}, - {"fqbn": "arduino:samd:nano_33_iot", "type": "nano33IoT"}, - {"fqbn": "arduino:samd:mkrfox1200", "type": "usb"}, - {"fqbn": "arduino:samd:mkrwan1300", "type": "usb"}, - {"fqbn": "arduino:samd:mkrwan1310", "type": "mkrwan1310"}, - {"fqbn": "arduino:samd:mkrgsm1400", "type": "usb"}, - {"fqbn": "arduino:samd:mkrnb1500", "type": "mkrNB1500"}, - {"fqbn": "arduino:samd:mkrvidor4000", "type": "vidor"}, - {"fqbn": "arduino:samd:adafruit_circuitplayground_m0", "type": "adafruit_playg"}, - {"fqbn": "arduino:samd:mzero_pro_bl_dbg", "type": "mzero"}, - {"fqbn": "arduino:samd:mzero_pro_bl", "type": "mzero"}, - {"fqbn": "arduino:samd:mzero_bl", "type": "mzero"}, - {"fqbn": "arduino:samd:tian", "type": "tian"} + {"fqbn": "arduino:samd:arduino_zero_edbg", "type": "usb", "WAN": "false"}, + {"fqbn": "arduino:samd:arduino_zero_native", "type": "usb", "WAN": "false"}, + {"fqbn": "arduino:samd:mkr1000", "type": "usb", "WAN": "false"}, + {"fqbn": "arduino:samd:mkrzero", "type": "usb", "WAN": "false"}, + {"fqbn": "arduino:samd:mkrwifi1010", "type": "mkrWiFi1010", "WAN": "false"}, + {"fqbn": "arduino:samd:nano_33_iot", "type": "nano33IoT", "WAN": "false"}, + {"fqbn": "arduino:samd:mkrfox1200", "type": "usb", "WAN": "false"}, + {"fqbn": "arduino:samd:mkrwan1300", "type": "usb", "WAN": "true"}, + {"fqbn": "arduino:samd:mkrwan1310", "type": "mkrwan1310", "WAN": "true"}, + {"fqbn": "arduino:samd:mkrgsm1400", "type": "usb", "WAN": "false"}, + {"fqbn": "arduino:samd:mkrnb1500", "type": "mkrNB1500", "WAN": "false"}, + {"fqbn": "arduino:samd:mkrvidor4000", "type": "vidor", "WAN": "false"}, + {"fqbn": "arduino:samd:adafruit_circuitplayground_m0", "type": "adafruit_playg", "WAN": "false"}, + {"fqbn": "arduino:samd:mzero_pro_bl_dbg", "type": "mzero", "WAN": "false"}, + {"fqbn": "arduino:samd:mzero_pro_bl", "type": "mzero", "WAN": "false"}, + {"fqbn": "arduino:samd:mzero_bl", "type": "mzero", "WAN": "false"}, + {"fqbn": "arduino:samd:tian", "type": "tian", "WAN": "false"} ] # make board type-specific customizations to the matrix jobs @@ -171,8 +171,8 @@ jobs: - ~/Arduino/libraries/MKRNB/examples # MKRWAN board - board: - fqbn: '"arduino:samd:mkrwan1300" "arduino:samd:mkrwan1310"' - additional-sketch-paths: | + WAN: "true" + wan-sketch-paths: | - ~/Arduino/libraries/MKRWAN/examples steps: @@ -257,6 +257,7 @@ jobs: ${{ env.UNIVERSAL_SKETCH_PATHS }} ${{ matrix.additional-sketch-paths }} ${{ matrix.mkrgsm1400-sketch-paths }} + ${{ matrix.wan-sketch-paths }} enable-deltas-report: 'true' verbose: 'true' From fb59c13914d0513d33b29285ca5d284d0f8ec128 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 23 Nov 2020 16:00:36 +0100 Subject: [PATCH 25/28] Remove redundant matrix entry for MKRNB1500 --- .github/workflows/compile-examples.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 4f5c38837..598c91f0f 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -116,6 +116,7 @@ jobs: additional-sketch-paths: | - libraries/I2S/examples - libraries/SDU/examples + - ~/Arduino/libraries/MKRNB/examples # nano_33_iot - board: type: "nano33IoT" @@ -164,11 +165,6 @@ jobs: fqbn: "arduino:samd:mkrgsm1400" mkrgsm1400-sketch-paths: | - ~/Arduino/libraries/MKRGSM/examples - # MKRNB1500 board - - board: - fqbn: "arduino:samd:mkrnb1500" - additional-sketch-paths: | - - ~/Arduino/libraries/MKRNB/examples # MKRWAN board - board: WAN: "true" From 50d5867d760a9d5f196056f5c48304209d90eee6 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 23 Nov 2020 16:03:00 +0100 Subject: [PATCH 26/28] Use release version of Keyboard library --- .github/workflows/compile-examples.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 598c91f0f..8fbfb06f0 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -31,7 +31,6 @@ jobs: - 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 @@ -200,7 +199,7 @@ jobs: - name: MFRC522 - name: Arduino_MKRMEM - name: FlashStorage - - source-url: https://github.com/arduino-libraries/Keyboard.git + - name: Keyboard - name: Mouse - name: Servo - name: LiquidCrystal From 676970437c4bd4c92c440937e2cb0db22f3fdf51 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 23 Nov 2020 16:05:06 +0100 Subject: [PATCH 27/28] Fix wrong core name in a comment --- .github/workflows/compile-examples.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 8fbfb06f0..e9cab30df 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -243,7 +243,7 @@ jobs: - name: WiFiNINA - source-url: https://github.com/vidor-libraries/VidorPeripherals.git platforms: | - # Use Board Manager to install the latest release of Arduino megaAVR Boards to get the toolchain + # Use Board Manager to install the latest release of Arduino SAMD Boards to get the toolchain - name: "arduino:samd" # Overwrite the Board Manager installation with the local platform - source-path: "./" From e62bb9614d2397db32de383f76027584e79ab2bc Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Tue, 24 Nov 2020 12:33:55 +0100 Subject: [PATCH 28/28] Mv ArduinoCore-API only if included inplatform --- .github/workflows/compile-examples.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index e9cab30df..408f61282 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -181,8 +181,14 @@ jobs: repository: arduino/ArduinoCore-API path: extras/ArduinoCore-API + - name: Check if API should be compiled in the core + id: checkapi + run: | + if [[ $(grep -r api platform.txt) ]]; then echo "::set-output name=IS_API::true"; fi + - name: Install ArduinoCore-API run: mv "$GITHUB_WORKSPACE/extras/ArduinoCore-API/api" "$GITHUB_WORKSPACE/cores/arduino" + if: steps.checkapi.outputs.IS_API == 'true' - name: Checkout Basic examples uses: actions/checkout@v2