@@ -27,46 +27,60 @@ jobs:
2727 - example : " ArduinoYunSecure"
2828 board : " arduino:avr:yun"
2929 - example : " ESP32DevelopmentBoard"
30- board : " espressif :esp32:esp32:FlashFreq=80"
30+ board : " esp32 :esp32:esp32:FlashFreq=80"
3131 - example : " ESP32DevelopmentBoardSecure"
32- board : " espressif :esp32:esp32:FlashFreq=80"
32+ board : " esp32 :esp32:esp32:FlashFreq=80"
3333 steps :
3434 - name : Checkout
35- uses : actions/checkout@v2
35+ uses : actions/checkout@v3
36+ - name : Append Path
37+ run : echo "$HOME/.local/bin" >> $GITHUB_PATH
3638 - name : Test
3739 env :
38- IDE_VERSION : " 1.8.19"
3940 EXAMPLE : ${{ matrix.example }}
4041 BOARD : ${{ matrix.board }}
4142 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
4960 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;
5262 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;
6065 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;
6468 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;
6871 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
7082 mkdir -p ~/Arduino/libraries
7183 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