Przeglądaj źródła

CI: build with arduino-cli

Benoit Blanchon 4 lat temu
rodzic
commit
ad7b749dec
2 zmienionych plików z 29 dodań i 29 usunięć
  1. 29 9
      .github/workflows/ci.yml
  2. 0 20
      extras/ci/arduino.sh

+ 29 - 9
.github/workflows/ci.yml

@@ -211,20 +211,40 @@ jobs:
       fail-fast: false
       matrix:
         include:
-          - arduino: "1.6.7"
-            os: ubuntu-18.04 # java.lang.Error: Cannot load com.sun.java.swing.plaf.gtk.GTKLookAndFeel
+          - core: arduino:avr
             board: arduino:avr:uno
-          - arduino: "1.8.2"
+          - core: arduino:samd
             board: arduino:samd:mkr1000
-    runs-on: ${{ matrix.os || 'ubuntu-latest' }}
+    runs-on: ubuntu-20.04
     steps:
       - name: Checkout
         uses: actions/checkout@v2
-      - name: Build
-        run: extras/ci/arduino.sh ${{ matrix.board }}
-        env:
-          BOARD: ${{ matrix.board }}
-          VERSION: ${{ matrix.arduino }}
+      - name: Install arduino-cli
+        run: brew update && brew install arduino-cli
+      - name: Install core
+        run: arduino-cli core install ${{ matrix.core }}
+      - name: Install libraries
+        run: arduino-cli lib install SD Ethernet
+      - name: Build JsonConfigFile
+        run: arduino-cli compile --library . --warnings all -b ${{ matrix.board }} "examples/JsonConfigFile/JsonConfigFile.ino"
+      - name: Build JsonFilterExample
+        run: arduino-cli compile --library . --warnings all -b ${{ matrix.board }} "examples/JsonFilterExample/JsonFilterExample.ino"
+      - name: Build JsonGeneratorExample
+        run: arduino-cli compile --library . --warnings all -b ${{ matrix.board }} "examples/JsonGeneratorExample/JsonGeneratorExample.ino"
+      - name: Build JsonHttpClient
+        run: arduino-cli compile --library . --warnings all -b ${{ matrix.board }} "examples/JsonHttpClient/JsonHttpClient.ino"
+      - name: Build JsonParserExample
+        run: arduino-cli compile --library . --warnings all -b ${{ matrix.board }} "examples/JsonParserExample/JsonParserExample.ino"
+      - name: Build JsonServer
+        run: arduino-cli compile --library . --warnings all -b ${{ matrix.board }} "examples/JsonServer/JsonServer.ino"
+      - name: Build JsonUdpBeacon
+        run: arduino-cli compile --library . --warnings all -b ${{ matrix.board }} "examples/JsonUdpBeacon/JsonUdpBeacon.ino"
+      - name: Build MsgPackParser
+        run: arduino-cli compile --library . --warnings all -b ${{ matrix.board }} "examples/MsgPackParser/MsgPackParser.ino"
+      - name: Build ProgmemExample
+        run: arduino-cli compile --library . --warnings all -b ${{ matrix.board }} "examples/ProgmemExample/ProgmemExample.ino"
+      - name: Build StringExample
+        run: arduino-cli compile --library . --warnings all -b ${{ matrix.board }} "examples/StringExample/StringExample.ino"
 
   platformio:
     name: PlatformIO

+ 0 - 20
extras/ci/arduino.sh

@@ -1,20 +0,0 @@
-#!/bin/bash -eux
-
-/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_1.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :1 -ac -screen 0 1280x1024x16
-sleep 3
-export DISPLAY=:1.0
-
-mkdir -p /tmp/arduino
-curl -sS http://downloads.arduino.cc/arduino-$VERSION-linux64.tar.xz | tar xJ -C /tmp/arduino --strip 1 ||
-curl -sS http://downloads.arduino.cc/arduino-$VERSION-linux64.tgz | tar xz -C /tmp/arduino --strip 1
-export PATH=$PATH:/tmp/arduino/
-
-if [[ "$BOARD" =~ "arduino:samd:" ]]; then
-  arduino --install-boards arduino:samd
-fi
-
-ln -s $PWD /tmp/arduino/libraries/ArduinoJson
-
-for EXAMPLE in $PWD/examples/*/*.ino; do
-	arduino --verify --board $BOARD $EXAMPLE
-done