@@ -27,46 +27,60 @@ jobs:
27
27
- example : " ArduinoYunSecure"
28
28
board : " arduino:avr:yun"
29
29
- example : " ESP32DevelopmentBoard"
30
- board : " espressif :esp32:esp32:FlashFreq=80"
30
+ board : " esp32 :esp32:esp32:FlashFreq=80"
31
31
- example : " ESP32DevelopmentBoardSecure"
32
- board : " espressif :esp32:esp32:FlashFreq=80"
32
+ board : " esp32 :esp32:esp32:FlashFreq=80"
33
33
steps :
34
34
- name : Checkout
35
- uses : actions/checkout@v2
35
+ uses : actions/checkout@v3
36
+ - name : Append Path
37
+ run : echo "$HOME/.local/bin" >> $GITHUB_PATH
36
38
- name : Test
37
39
env :
38
- IDE_VERSION : " 1.8.19"
39
40
EXAMPLE : ${{ matrix.example }}
40
41
BOARD : ${{ matrix.board }}
41
42
run : |
42
- /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_1.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :1 -ac -screen 0 1280x1024x16
43
- sleep 3
44
- export DISPLAY=:1.0
45
- wget https://downloads.arduino.cc/arduino-$IDE_VERSION-linux64.tar.xz
46
- tar xf arduino-$IDE_VERSION-linux64.tar.xz
47
- mv arduino-$IDE_VERSION ~/arduino-ide
48
- export PATH=$PATH:~/arduino-ide
43
+ # ensure directory
44
+ mkdir -p "$HOME/.local/bin"
45
+
46
+ # install arduino-cli into "$HOME/.local/bin"
47
+ curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR="$HOME/.local/bin" sh
48
+
49
+ # prepare config
50
+ arduino-cli config init
51
+
52
+ # add cores to config
53
+ arduino-cli config add board_manager.additional_urls https://arduino.esp8266.com/stable/package_esp8266com_index.json
54
+ arduino-cli config add board_manager.additional_urls https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
55
+
56
+ # update index
57
+ arduino-cli core update-index
58
+
59
+ # install core
49
60
if [[ "$BOARD" =~ "esp8266:esp8266:" ]]; then
50
- arduino --pref "boardsmanager.additional.urls=https://arduino.esp8266.com/stable/package_esp8266com_index.json" --install-boards esp8266:esp8266;
51
- arduino --pref "boardsmanager.additional.urls=" --save-prefs;
61
+ arduino-cli core install esp8266:esp8266;
52
62
fi
53
- if [[ "$BOARD" =~ "espressif:esp32:" ]]; then
54
- mkdir -p ~/Arduino/hardware/espressif &&
55
- cd ~/Arduino/hardware/espressif &&
56
- git clone https://github.com/espressif/arduino-esp32.git esp32 &&
57
- cd esp32/tools/ &&
58
- python get.py &&
59
- cd $GITHUB_WORKSPACE;
63
+ if [[ "$BOARD" =~ "esp32:esp32:" ]]; then
64
+ arduino-cli core install esp32:esp32;
60
65
fi
61
- if [[ "$BOARD" =~ "arduino:samd:mkrgsm1400" ]]; then
62
- arduino --install-boards arduino:samd;
63
- arduino --install-library MKRGSM;
66
+ if [[ "$BOARD" =~ "arduino:samd:" ]]; then
67
+ arduino-cli core install arduino:samd;
64
68
fi
65
- if [[ "$BOARD" =~ "arduino:samd:mkrnb1500" ]]; then
66
- arduino --install-boards arduino:samd;
67
- arduino --install-library MKRNB;
69
+ if [[ "$BOARD" =~ "arduino:avr:" ]]; then
70
+ arduino-cli core install arduino:avr;
68
71
fi
69
- arduino --install-library WiFi101
72
+
73
+ # install libraries
74
+ arduino-cli lib install WiFi
75
+ arduino-cli lib install WiFi101
76
+ arduino-cli lib install MKRGSM
77
+ arduino-cli lib install MKRNB
78
+ arduino-cli lib install Ethernet
79
+ arduino-cli lib install Bridge
80
+
81
+ # link library
70
82
mkdir -p ~/Arduino/libraries
71
83
ln -s $PWD ~/Arduino/libraries/.
72
- arduino --verbose-build --verify --board $BOARD $PWD/examples/$EXAMPLE/$EXAMPLE.ino;
84
+
85
+ # build example
86
+ arduino-cli compile --fqbn $BOARD $PWD/examples/$EXAMPLE
0 commit comments