From 7e4c4236088888af58781622280bcce48e749050 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Tue, 19 May 2020 14:14:06 +0200 Subject: [PATCH 01/19] Add workflow for CI --- .github/workflows/compile-examples.yml | 67 ++++++++++++++++++++++++ .github/workflows/report-size-deltas.yml | 13 +++++ 2 files changed, 80 insertions(+) create mode 100644 .github/workflows/compile-examples.yml create mode 100644 .github/workflows/report-size-deltas.yml diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml new file mode 100644 index 00000000..48b8eeb1 --- /dev/null +++ b/.github/workflows/compile-examples.yml @@ -0,0 +1,67 @@ +name: Compile Examples + +on: [pull_request, push] + +jobs: + compile-test: + runs-on: ubuntu-latest + + strategy: + matrix: + fqbn: [ + "arduino:megaavr:uno2018" #, + #"arduino:megaavr:nona4809" + ] + + 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: libraries/WiFiNINA + + - name: Compile examples + uses: arduino/actions/libraries/compile-examples@master + with: + fqbn: ${{ matrix.fqbn }} + libraries: | + - name: Adafruit IO Arduino + version: 3.6.0 + - name: Adafruit MQTT Library + version: 1.0.3 + - name: ArduinoHttpClient + version: 0.4.0 + # Don't use library manager WiFiNINA + # - name: WiFiNINA + # version: 1.4.0 + - name: MegunoLink + platforms: | + # Use Board Manager to install the latest release of Arduino megaAVR Boards to get the toolchain + - name: "arduino:megaavr" + # Overwrite the Board Manager installation with the local platform + - source-path: "./" + name: "arduino:megaavr" + sketch-paths: "extras/AIO_LED_Pot" + size-report-sketch: 'AIO_LED_Pot' + enable-size-deltas-report: 'true' + verbose: 'true' + + - name: Save memory usage change report as artifact + if: github.event_name == 'pull_request' + 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 00000000..a359b257 --- /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 48cdeda1fa431fffd9ebd6d8b792e74f4566e4c0 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Tue, 19 May 2020 16:37:08 +0200 Subject: [PATCH 02/19] FONAtest search path --- .github/workflows/compile-examples.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 48b8eeb1..8834fbf4 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -34,7 +34,7 @@ jobs: path: libraries/WiFiNINA - name: Compile examples - uses: arduino/actions/libraries/compile-examples@master + uses: per1234/actions/libraries/compile-examples@9acb47abcea28afced4d549585b347668eb03eac with: fqbn: ${{ matrix.fqbn }} libraries: | @@ -44,6 +44,8 @@ jobs: version: 1.0.3 - name: ArduinoHttpClient version: 0.4.0 + - name: Adafruit FONA Library + version: 1.3.6 # Don't use library manager WiFiNINA # - name: WiFiNINA # version: 1.4.0 @@ -54,8 +56,8 @@ jobs: # Overwrite the Board Manager installation with the local platform - source-path: "./" name: "arduino:megaavr" - sketch-paths: "extras/AIO_LED_Pot" - size-report-sketch: 'AIO_LED_Pot' + sketch-paths: "/github/home/Arduino/libraries/Adafruit_FONA_Library/examples/FONAtest" + size-report-sketch: 'FONAtest' enable-size-deltas-report: 'true' verbose: 'true' From b2ea934795244172b693e9294af0f8905347a08d Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 7 Sep 2020 10:48:37 +0200 Subject: [PATCH 03/19] Install latest version of libraries --- .github/workflows/compile-examples.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 8834fbf4..ddebaa24 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -34,21 +34,14 @@ jobs: path: libraries/WiFiNINA - name: Compile examples - uses: per1234/actions/libraries/compile-examples@9acb47abcea28afced4d549585b347668eb03eac + uses: arduino/actions/libraries/compile-examples@master with: fqbn: ${{ matrix.fqbn }} libraries: | - name: Adafruit IO Arduino - version: 3.6.0 - name: Adafruit MQTT Library - version: 1.0.3 - name: ArduinoHttpClient - version: 0.4.0 - name: Adafruit FONA Library - version: 1.3.6 - # Don't use library manager WiFiNINA - # - name: WiFiNINA - # version: 1.4.0 - name: MegunoLink platforms: | # Use Board Manager to install the latest release of Arduino megaAVR Boards to get the toolchain From c654b79e0f18304e151fcac3d7b6e6f0be59a4f6 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 7 Sep 2020 10:55:39 +0200 Subject: [PATCH 04/19] Remove 'size-report-sketch' entry and 'Save memory usage change report as artifact' step --- .github/workflows/compile-examples.yml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index ddebaa24..c64384aa 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -50,13 +50,5 @@ jobs: - source-path: "./" name: "arduino:megaavr" sketch-paths: "/github/home/Arduino/libraries/Adafruit_FONA_Library/examples/FONAtest" - size-report-sketch: 'FONAtest' enable-size-deltas-report: 'true' - verbose: 'true' - - - name: Save memory usage change report as artifact - if: github.event_name == 'pull_request' - uses: actions/upload-artifact@v1 - with: - name: 'size-deltas-reports' - path: 'size-deltas-reports' \ No newline at end of file + verbose: 'true' \ No newline at end of file From 9497c8c714f6598d29b4ae7871645d795c60dc78 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 7 Sep 2020 12:32:39 +0200 Subject: [PATCH 05/19] Add board target Arduino Nano Every --- .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 c64384aa..43a3fc7b 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -9,8 +9,8 @@ jobs: strategy: matrix: fqbn: [ - "arduino:megaavr:uno2018" #, - #"arduino:megaavr:nona4809" + "arduino:megaavr:uno2018", + "arduino:megaavr:nona4809" ] steps: From cfd3a8d199d63651c736b7182cd5ffb8cbdf4e34 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 7 Sep 2020 14:38:41 +0200 Subject: [PATCH 06/19] Add step to download basic examples + add UNIVERSAL paths --- .github/workflows/compile-examples.yml | 39 +++++++++++++++++++++----- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 43a3fc7b..d2dfbe7c 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -6,13 +6,32 @@ jobs: compile-test: runs-on: ubuntu-latest + env: + # libraries to install for all boards + UNIVERSAL_LIBRARIES: "MFRC522" + # sketch paths to compile (recursive) for all boards + UNIVERSAL_SKETCH_PATHS: '"extras/examples" "libraries/Wire" "libraries/SPI" "libraries/SoftwareSerial" "libraries/EEPROM"' + strategy: + fail-fast: false + matrix: - fqbn: [ - "arduino:megaavr:uno2018", - "arduino:megaavr:nona4809" + board: [ + {"fqbn": "arduino:megaavr:uno2018", "type": "unoWiFiRev2"}, + {"fqbn": "arduino:megaavr:nona4809", "type": "nanoEvery"} ] + # make board type-specific customizations to the matrix jobs + include: + # Uno WiFi Rev2 + - board: + type: "unoWiFiRev2" + additional-sketch-paths: "/github/home/Arduino/libraries/Adafruit_FONA_Library/examples/FONAtest" + # Nano Every + - board: + type: "nanoEvery" + additional-sketch-paths: "/github/home/Arduino/libraries/Adafruit_FONA_Library/examples/FONAtest" + steps: - name: Checkout repository uses: actions/checkout@v2 @@ -31,12 +50,18 @@ jobs: uses: actions/checkout@v2 with: repository: adafruit/WiFiNINA - path: libraries/WiFiNINA + path: adafruit/WiFiNINA + + - name: Checkout Basic examples + uses: actions/checkout@v2 + with: + repository: arduino/arduino-examples + path: extras/examples - name: Compile examples uses: arduino/actions/libraries/compile-examples@master with: - fqbn: ${{ matrix.fqbn }} + fqbn: ${{ matrix.board.fqbn }} libraries: | - name: Adafruit IO Arduino - name: Adafruit MQTT Library @@ -49,6 +74,6 @@ jobs: # Overwrite the Board Manager installation with the local platform - source-path: "./" name: "arduino:megaavr" - sketch-paths: "/github/home/Arduino/libraries/Adafruit_FONA_Library/examples/FONAtest" - enable-size-deltas-report: 'true' + sketch-paths: "${{ env.UNIVERSAL_SKETCH_PATHS }} ${{ matrix.additional-sketch-paths }}" + enable-size-deltas-report: 'false' verbose: 'true' \ No newline at end of file From ce359add3492034f91831e451ee6a898628f6920 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 7 Sep 2020 16:30:03 +0200 Subject: [PATCH 07/19] Add step to remove incompatible basic examples --- .github/workflows/compile-examples.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index d2dfbe7c..be60076d 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -8,7 +8,7 @@ jobs: env: # libraries to install for all boards - UNIVERSAL_LIBRARIES: "MFRC522" + UNIVERSAL_LIBRARIES: '"MFRC522" "Servo"' # sketch paths to compile (recursive) for all boards UNIVERSAL_SKETCH_PATHS: '"extras/examples" "libraries/Wire" "libraries/SPI" "libraries/SoftwareSerial" "libraries/EEPROM"' @@ -56,7 +56,10 @@ jobs: uses: actions/checkout@v2 with: repository: arduino/arduino-examples - path: extras/examples + path: extras + + - name: Delete incompatible examples + run: rm -r "$GITHUB_WORKSPACE/extras/examples/09.USB" && rm -r "$GITHUB_WORKSPACE/extras/examples/10.StarterKit_BasicKit/p11_CrystalBall" && rm -r "$GITHUB_WORKSPACE/extras/examples/10.StarterKit_BasicKit/p13_TouchSensorLamp" - name: Compile examples uses: arduino/actions/libraries/compile-examples@master @@ -68,6 +71,7 @@ jobs: - name: ArduinoHttpClient - name: Adafruit FONA Library - name: MegunoLink + - name: Servo platforms: | # Use Board Manager to install the latest release of Arduino megaAVR Boards to get the toolchain - name: "arduino:megaavr" From d68d9677de1a0a37891173a9cf765a78d7800174 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 7 Sep 2020 17:11:10 +0200 Subject: [PATCH 08/19] Add most used libraries + examples --- .github/workflows/compile-examples.yml | 30 ++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index be60076d..2869a68c 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -8,9 +8,9 @@ jobs: env: # libraries to install for all boards - UNIVERSAL_LIBRARIES: '"MFRC522" "Servo"' + UNIVERSAL_LIBRARIES: '"MFRC522" "Servo" "LiquidCrystal"' # sketch paths to compile (recursive) for all boards - UNIVERSAL_SKETCH_PATHS: '"extras/examples" "libraries/Wire" "libraries/SPI" "libraries/SoftwareSerial" "libraries/EEPROM"' + UNIVERSAL_SKETCH_PATHS: '"extras/examples" "libraries/Wire" "libraries/SPI" "libraries/SoftwareSerial" "libraries/EEPROM" "~/Arduino/libraries/Servo/examples" "~/Arduino/libraries/LiquidCrystal/examples" "~/Arduino/libraries/MFRC522/examples" "~/Arduino/libraries/Ethernet/examples" "~/Arduino/libraries/Arduino_LSM9DS1/examples" "~/Arduino/libraries/SD/examples" "~/Arduino/libraries/Arduino_JSON/examples" "~/Arduino/libraries/WiFi/examples"' strategy: fail-fast: false @@ -72,6 +72,32 @@ jobs: - name: Adafruit FONA Library - name: MegunoLink - name: Servo + - name: LiquidCrystal + - name: MFRC522 + - name: Ethernet + - name: ArduinoBearSSL + - name: Arduino_LSM9DS1 + - name: ArduinoHttpClient + - name: NTPClient + - name: TFT + - name: ArduinoMqttClient + - name: Arduino_CRC32 + - name: Arduino_LSM6DS3 + - name: Stepper + - name: SD + - name: Arduino_JSON + - name: Arduino_HTS221 + - name: Firmata + - name: ArduinoCloudThing + - name: Arduino_DebugUtils + - name: Arduino_LPS22HB + - name: ArduinoIoTCloudBearSSL + - name: ArduinoDMX + - name: ArduinoRS485 + - name: Arduino_OAuth + - name: WiFi + - name: Bridge + - name: Temboo platforms: | # Use Board Manager to install the latest release of Arduino megaAVR Boards to get the toolchain - name: "arduino:megaavr" From 95445d2f464b23cced629b844a407d65aa1956ed Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 7 Sep 2020 17:35:54 +0200 Subject: [PATCH 09/19] Add step to save memory usage change --- .github/workflows/compile-examples.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 2869a68c..8b6397c9 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -105,5 +105,12 @@ jobs: - source-path: "./" name: "arduino:megaavr" sketch-paths: "${{ env.UNIVERSAL_SKETCH_PATHS }} ${{ matrix.additional-sketch-paths }}" - enable-size-deltas-report: 'false' - verbose: 'true' \ No newline at end of file + enable-size-deltas-report: 'true' + verbose: 'true' + + - name: Save memory usage change report as artifact + if: github.event_name == 'pull_request' + uses: actions/upload-artifact@v1 + with: + name: 'size-deltas-reports' + path: 'size-deltas-reports' \ No newline at end of file From 9f728df052490c1a4a5e279013631d6d3639bb2e Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 7 Sep 2020 17:50:43 +0200 Subject: [PATCH 10/19] Remove board type specific customization --- .github/workflows/compile-examples.yml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 8b6397c9..a5daf3cf 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -21,17 +21,6 @@ jobs: {"fqbn": "arduino:megaavr:nona4809", "type": "nanoEvery"} ] - # make board type-specific customizations to the matrix jobs - include: - # Uno WiFi Rev2 - - board: - type: "unoWiFiRev2" - additional-sketch-paths: "/github/home/Arduino/libraries/Adafruit_FONA_Library/examples/FONAtest" - # Nano Every - - board: - type: "nanoEvery" - additional-sketch-paths: "/github/home/Arduino/libraries/Adafruit_FONA_Library/examples/FONAtest" - steps: - name: Checkout repository uses: actions/checkout@v2 @@ -104,7 +93,7 @@ jobs: # Overwrite the Board Manager installation with the local platform - source-path: "./" name: "arduino:megaavr" - sketch-paths: "${{ env.UNIVERSAL_SKETCH_PATHS }} ${{ matrix.additional-sketch-paths }}" + sketch-paths: "${{ env.UNIVERSAL_SKETCH_PATHS }}" enable-size-deltas-report: 'true' verbose: 'true' From 39e1395ee1f9dd8e3d601f8d1dc5798d3e31aa45 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 7 Sep 2020 18:04:52 +0200 Subject: [PATCH 11/19] Remove condition to execute report artifact only with a PR --- .github/workflows/compile-examples.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index a5daf3cf..7e0e2aeb 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -98,8 +98,7 @@ jobs: verbose: 'true' - name: Save memory usage change report as artifact - if: github.event_name == 'pull_request' uses: actions/upload-artifact@v1 with: - name: 'size-deltas-reports' - path: 'size-deltas-reports' \ No newline at end of file + name: size-deltas-reports + path: size-deltas-reports \ No newline at end of file From fb15914ef43ad38ebded59a3e2ed9d442af20caf Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Mon, 7 Sep 2020 18:40:37 +0200 Subject: [PATCH 12/19] Use list format also for sketch paths --- .github/workflows/compile-examples.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 7e0e2aeb..9afdba95 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -10,7 +10,20 @@ jobs: # libraries to install for all boards UNIVERSAL_LIBRARIES: '"MFRC522" "Servo" "LiquidCrystal"' # sketch paths to compile (recursive) for all boards - UNIVERSAL_SKETCH_PATHS: '"extras/examples" "libraries/Wire" "libraries/SPI" "libraries/SoftwareSerial" "libraries/EEPROM" "~/Arduino/libraries/Servo/examples" "~/Arduino/libraries/LiquidCrystal/examples" "~/Arduino/libraries/MFRC522/examples" "~/Arduino/libraries/Ethernet/examples" "~/Arduino/libraries/Arduino_LSM9DS1/examples" "~/Arduino/libraries/SD/examples" "~/Arduino/libraries/Arduino_JSON/examples" "~/Arduino/libraries/WiFi/examples"' + UNIVERSAL_SKETCH_PATHS: | + - extras/examples + - libraries/Wire + - libraries/SPI + - libraries/SoftwareSerial + - libraries/EEPROM + - ~/Arduino/libraries/Servo/examples + - ~/Arduino/libraries/LiquidCrystal/examples + - ~/Arduino/libraries/MFRC522/examples + - ~/Arduino/libraries/Ethernet/examples + - ~/Arduino/libraries/Arduino_LSM9DS1/examples + - ~/Arduino/libraries/SD/examples + - ~/Arduino/libraries/Arduino_JSON/examples + - ~/Arduino/libraries/WiFi/examples strategy: fail-fast: false From 72cd7c03b08991d28520ae57e5b16993938c4e33 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Tue, 8 Sep 2020 15:51:09 +0200 Subject: [PATCH 13/19] Run workflow only after modification of the workflow or of a file relevant to sketch compilation --- .github/workflows/compile-examples.yml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 9afdba95..4804a367 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: From 945db3733dfd23aa07c6a4ac45163aab88bd7ab9 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Tue, 8 Sep 2020 15:57:58 +0200 Subject: [PATCH 14/19] Remove not necessary libraries and variables --- .github/workflows/compile-examples.yml | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 4804a367..124d09bd 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" "Servo" "LiquidCrystal"' # sketch paths to compile (recursive) for all boards UNIVERSAL_SKETCH_PATHS: | - extras/examples @@ -39,16 +37,15 @@ jobs: - ~/Arduino/libraries/Arduino_LSM9DS1/examples - ~/Arduino/libraries/SD/examples - ~/Arduino/libraries/Arduino_JSON/examples - - ~/Arduino/libraries/WiFi/examples strategy: fail-fast: false matrix: - board: [ - {"fqbn": "arduino:megaavr:uno2018", "type": "unoWiFiRev2"}, - {"fqbn": "arduino:megaavr:nona4809", "type": "nanoEvery"} - ] + fqbn: + - "arduino:megaavr:uno2018:mode=on" + - "arduino:megaavr:uno2018:mode=off" + - "arduino:megaavr:nona4809" steps: - name: Checkout repository @@ -64,12 +61,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: @@ -82,7 +73,7 @@ jobs: - name: Compile examples uses: arduino/actions/libraries/compile-examples@master with: - fqbn: ${{ matrix.board.fqbn }} + fqbn: ${{ matrix.fqbn }} libraries: | - name: Adafruit IO Arduino - name: Adafruit MQTT Library @@ -106,16 +97,12 @@ jobs: - name: Arduino_JSON - name: Arduino_HTS221 - name: Firmata - - name: ArduinoCloudThing - name: Arduino_DebugUtils - name: Arduino_LPS22HB - name: ArduinoIoTCloudBearSSL - name: ArduinoDMX - name: ArduinoRS485 - name: Arduino_OAuth - - name: WiFi - - name: Bridge - - name: Temboo platforms: | # Use Board Manager to install the latest release of Arduino megaAVR Boards to get the toolchain - name: "arduino:megaavr" From 964531afc80e7f1feefbb7ffd596bfa7be06c123 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Tue, 8 Sep 2020 16:52:14 +0200 Subject: [PATCH 15/19] Split remove commands + add comments --- .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 124d09bd..360a6f23 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -68,7 +68,13 @@ jobs: path: extras - name: Delete incompatible examples - run: rm -r "$GITHUB_WORKSPACE/extras/examples/09.USB" && rm -r "$GITHUB_WORKSPACE/extras/examples/10.StarterKit_BasicKit/p11_CrystalBall" && rm -r "$GITHUB_WORKSPACE/extras/examples/10.StarterKit_BasicKit/p13_TouchSensorLamp" + run: | + # These boards do not support native USB + rm -r "$GITHUB_WORKSPACE/extras/examples/09.USB" + # The next command can be removed after the core integration with ArduinoCore-API + rm -r "$GITHUB_WORKSPACE/extras/examples/10.StarterKit_BasicKit/p11_CrystalBall" + # CapacitiveSensor library does not support megaAVR core yet + rm -r "$GITHUB_WORKSPACE/extras/examples/10.StarterKit_BasicKit/p13_TouchSensorLamp" - name: Compile examples uses: arduino/actions/libraries/compile-examples@master From c9587a2879ee62ac5b958a50ae563f0c0d6eaee2 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Tue, 8 Sep 2020 18:52:58 +0200 Subject: [PATCH 16/19] Compile WiFiNINA 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 360a6f23..a02a8f0e 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -109,6 +109,7 @@ jobs: - name: ArduinoDMX - name: ArduinoRS485 - name: Arduino_OAuth + - name: WiFiNINA platforms: | # Use Board Manager to install the latest release of Arduino megaAVR Boards to get the toolchain - name: "arduino:megaavr" From a18eccc7b4e1d7c4f21bbf5b277fe2ce9bf12280 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 10 Sep 2020 10:25:54 +0200 Subject: [PATCH 17/19] Reinsert types to compile WiFiNINA examples only for Uno WiFi Rev2 --- .github/workflows/compile-examples.yml | 31 ++++++++++++++++++-------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index a02a8f0e..e1025769 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -37,15 +37,27 @@ jobs: - ~/Arduino/libraries/Arduino_LSM9DS1/examples - ~/Arduino/libraries/SD/examples - ~/Arduino/libraries/Arduino_JSON/examples - strategy: fail-fast: false matrix: - fqbn: - - "arduino:megaavr:uno2018:mode=on" - - "arduino:megaavr:uno2018:mode=off" - - "arduino:megaavr:nona4809" + board: [ + {"fqbn": "arduino:megaavr:uno2018:mode=on", "type": "UnoWiFiRev2"}, + {"fqbn": "arduino:megaavr:uno2018:mode=off", "type": "UnoWiFiRev2"}, + {"fqbn": "arduino:megaavr:nona4809", "type": "NanoEvery"} + ] + + # make board type-specific customizations to the matrix jobs + include: + # Uno WiFi Rev2 + - board: + type: "UnoWiFiRev2" + additional-sketch-paths: | + - ~/Arduino/libraries/WiFiNINA/examples + # Nano Every + - board: + type: "NanoEvery" + additional-sketch-paths: '' steps: - name: Checkout repository @@ -75,11 +87,10 @@ jobs: rm -r "$GITHUB_WORKSPACE/extras/examples/10.StarterKit_BasicKit/p11_CrystalBall" # CapacitiveSensor library does not support megaAVR core yet rm -r "$GITHUB_WORKSPACE/extras/examples/10.StarterKit_BasicKit/p13_TouchSensorLamp" - - name: Compile examples uses: arduino/actions/libraries/compile-examples@master with: - fqbn: ${{ matrix.fqbn }} + fqbn: ${{ matrix.board.fqbn }} libraries: | - name: Adafruit IO Arduino - name: Adafruit MQTT Library @@ -116,8 +127,10 @@ jobs: # Overwrite the Board Manager installation with the local platform - source-path: "./" name: "arduino:megaavr" - sketch-paths: "${{ env.UNIVERSAL_SKETCH_PATHS }}" - enable-size-deltas-report: 'true' + sketch-paths: | + ${{ env.UNIVERSAL_SKETCH_PATHS }} + ${{ matrix.additional-sketch-paths }} + enable-deltas-report: 'true' verbose: 'true' - name: Save memory usage change report as artifact From 283703a10b17039bb33ddf63e98bd024986659e4 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 10 Sep 2020 11:34:35 +0200 Subject: [PATCH 18/19] Try to compile all the libraries examples --- .github/workflows/compile-examples.yml | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index e1025769..16678164 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -37,6 +37,24 @@ jobs: - ~/Arduino/libraries/Arduino_LSM9DS1/examples - ~/Arduino/libraries/SD/examples - ~/Arduino/libraries/Arduino_JSON/examples + - ~/Arduino/libraries/Adafruit_IO_Arduino/examples + - ~/Arduino/libraries/Adafruit_MQTT_Library/examples + - ~/Arduino/libraries/ArduinoHttpClient/examples + - ~/Arduino/libraries/ArduinoBearSSL/examples + - ~/Arduino/libraries/NTPClient/examples + - ~/Arduino/libraries/TFT/examples + - ~/Arduino/libraries/ArduinoMqttClient/examples + - ~/Arduino/libraries/Arduino_CRC32/examples + - ~/Arduino/libraries/Arduino_LSM6DS3/examples + - ~/Arduino/libraries/Stepper/examples + - ~/Arduino/libraries/Arduino_HTS221/examples + - ~/Arduino/libraries/Firmata/examples + - ~/Arduino/libraries/Arduino_DebugUtils/examples + - ~/Arduino/libraries/Arduino_LPS22HB/examples + - ~/Arduino/libraries/ArduinoDMX/examples + - ~/Arduino/libraries/ArduinoRS485/examples + - ~/Arduino/libraries/Arduino_OAuth/examples + strategy: fail-fast: false @@ -95,15 +113,12 @@ jobs: - name: Adafruit IO Arduino - name: Adafruit MQTT Library - name: ArduinoHttpClient - - name: Adafruit FONA Library - - name: MegunoLink - name: Servo - name: LiquidCrystal - name: MFRC522 - name: Ethernet - name: ArduinoBearSSL - name: Arduino_LSM9DS1 - - name: ArduinoHttpClient - name: NTPClient - name: TFT - name: ArduinoMqttClient @@ -116,7 +131,6 @@ jobs: - name: Firmata - name: Arduino_DebugUtils - name: Arduino_LPS22HB - - name: ArduinoIoTCloudBearSSL - name: ArduinoDMX - name: ArduinoRS485 - name: Arduino_OAuth From 0eb5c645c412f97b9e6a1e692983e396a585fa54 Mon Sep 17 00:00:00 2001 From: giulcioffi Date: Thu, 10 Sep 2020 12:11:41 +0200 Subject: [PATCH 19/19] Remove incompatible examples --- .github/workflows/compile-examples.yml | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml index 16678164..313c270e 100644 --- a/.github/workflows/compile-examples.yml +++ b/.github/workflows/compile-examples.yml @@ -34,26 +34,26 @@ jobs: - ~/Arduino/libraries/LiquidCrystal/examples - ~/Arduino/libraries/MFRC522/examples - ~/Arduino/libraries/Ethernet/examples + - ~/Arduino/libraries/Adafruit_MQTT_Library/examples/mqtt_ethernet + - ~/Arduino/libraries/ArduinoBearSSL/examples/SHA1 + - ~/Arduino/libraries/ArduinoBearSSL/examples/SHA256 - ~/Arduino/libraries/Arduino_LSM9DS1/examples - ~/Arduino/libraries/SD/examples - ~/Arduino/libraries/Arduino_JSON/examples - - ~/Arduino/libraries/Adafruit_IO_Arduino/examples - - ~/Arduino/libraries/Adafruit_MQTT_Library/examples - - ~/Arduino/libraries/ArduinoHttpClient/examples - - ~/Arduino/libraries/ArduinoBearSSL/examples - - ~/Arduino/libraries/NTPClient/examples - - ~/Arduino/libraries/TFT/examples - - ~/Arduino/libraries/ArduinoMqttClient/examples + - ~/Arduino/libraries/TFT/examples/Arduino/TFTBitmapLogo + - ~/Arduino/libraries/TFT/examples/Arduino/TFTColorPicker + - ~/Arduino/libraries/TFT/examples/Arduino/TFTDisplayText + - ~/Arduino/libraries/TFT/examples/Arduino/TFTEtchASketch + - ~/Arduino/libraries/TFT/examples/Arduino/TFTGraph + - ~/Arduino/libraries/TFT/examples/Arduino/TFTPong - ~/Arduino/libraries/Arduino_CRC32/examples - ~/Arduino/libraries/Arduino_LSM6DS3/examples - ~/Arduino/libraries/Stepper/examples - ~/Arduino/libraries/Arduino_HTS221/examples - - ~/Arduino/libraries/Firmata/examples - ~/Arduino/libraries/Arduino_DebugUtils/examples - ~/Arduino/libraries/Arduino_LPS22HB/examples - ~/Arduino/libraries/ArduinoDMX/examples - ~/Arduino/libraries/ArduinoRS485/examples - - ~/Arduino/libraries/Arduino_OAuth/examples strategy: fail-fast: false @@ -72,10 +72,12 @@ jobs: type: "UnoWiFiRev2" additional-sketch-paths: | - ~/Arduino/libraries/WiFiNINA/examples + - ~/Arduino/libraries/ArduinoMqttClient/examples + - ~/Arduino/libraries/Arduino_OAuth/examples/Tweeter # Nano Every - board: type: "NanoEvery" - additional-sketch-paths: '' + additional-sketch-paths: steps: - name: Checkout repository @@ -110,16 +112,13 @@ jobs: with: fqbn: ${{ matrix.board.fqbn }} libraries: | - - name: Adafruit IO Arduino - name: Adafruit MQTT Library - - name: ArduinoHttpClient - name: Servo - name: LiquidCrystal - name: MFRC522 - name: Ethernet - name: ArduinoBearSSL - name: Arduino_LSM9DS1 - - name: NTPClient - name: TFT - name: ArduinoMqttClient - name: Arduino_CRC32 @@ -128,7 +127,6 @@ jobs: - name: SD - name: Arduino_JSON - name: Arduino_HTS221 - - name: Firmata - name: Arduino_DebugUtils - name: Arduino_LPS22HB - name: ArduinoDMX