11name : Arduino Library CI
22
3- on :
3+ on :
44 push :
55 paths-ignore :
6- - ' **/**.md'
7- - ' /keywords.txt'
8- - ' /library.json'
9- - ' /library.properties'
10- - ' /ui '
11- - ' /docs'
6+ - " **/**.md"
7+ - " /keywords.txt"
8+ - " /library.json"
9+ - " /library.properties"
10+ - " /vue-frontend "
11+ - " /docs"
1212 pull_request :
1313 paths-ignore :
14- - ' **/**.md'
15- - ' /keywords.txt'
16- - ' /library.json'
17- - ' /library.properties'
18- - ' /ui '
19- - ' /docs'
14+ - " **/**.md"
15+ - " /keywords.txt"
16+ - " /library.json"
17+ - " /library.properties"
18+ - " /vue-frontend "
19+ - " /docs"
2020
2121jobs :
22- build :
22+ arduino :
23+ name : arduino ${{ matrix.name }}
2324 runs-on : ubuntu-latest
24-
25+ strategy :
26+ fail-fast : false
27+ matrix :
28+ include :
29+ - name : package_esp32_index.json
30+ core : esp32:esp32
31+ board : esp32:esp32:esp32
32+ index_url : https://espressif.github.io/arduino-esp32/package_esp32_index.json
33+ - name : package_esp32_dev_index.json
34+ core : esp32:esp32
35+ board : esp32:esp32:esp32
36+ index_url : https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json
37+ - name : package_esp8266com_index.json
38+ core : esp8266:esp8266
39+ board : esp8266:esp8266:huzzah
40+ index_url : https://arduino.esp8266.com/stable/package_esp8266com_index.json
41+
2542 steps :
26- - uses : actions/setup-python@v1
27- with :
28- python-version : ' 3.x'
29-
30- - uses : actions/checkout@v2
43+ - name : Checkout
44+ uses : actions/checkout@v4
3145
32- - uses : actions/checkout@v2
46+ - name : Arduino Lint
47+ uses : arduino/arduino-lint-action@v1
3348 with :
34- repository : adafruit/ci-arduino
35- path : ci
49+ library-manager : update
50+
51+ - name : Install arduino-cli
52+ run : curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | BINDIR=/usr/local/bin sh
53+
54+ - name : Update core index
55+ run : arduino-cli core update-index --additional-urls "${{ matrix.index_url }}"
56+
57+ - name : Install core
58+ run : arduino-cli core install --additional-urls "${{ matrix.index_url }}" ${{ matrix.core }}
59+
60+ - name : Install AsyncTCP
61+ run : ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/mathieucarbou/AsyncTCP#v3.1.4
62+
63+ - name : Install ESPAsyncTCP
64+ run : ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/mathieucarbou/esphome-ESPAsyncTCP#v2.0.0
3665
37- - name : pre-install
38- run : bash ci/actions_install.sh
39-
40- - name : install-deps
41- run : bash .github/scripts/dep-install.sh
66+ - name : Install ESPAsyncWebServer
67+ run : ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/mathieucarbou/ESPAsyncWebServer#v2.10.1
68+
69+ - name : Build Demo
70+ run : arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/Demo/Demo.ino"
71+
72+ - name : Build Demo_AP
73+ run : arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/Demo_AP/Demo_AP.ino"
74+
75+ platformio :
76+ name : pio ${{ matrix.name }}
77+ runs-on : ubuntu-latest
78+ strategy :
79+ fail-fast : false
80+ matrix :
81+ include :
82+ - name : esp32dev|arduino
83+ board : esp32dev
84+ platform : espressif32
85+ opts :
86+ - name : esp32dev|arduino-2
87+ board : esp32dev
88+ 89+ opts :
90+ - name : esp32dev|arduino-3
91+ board : esp32dev
92+ platform : espressif32
93+ opts : " --project-option 'platform_packages=platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.0, platform_packages=platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.0/esp32-arduino-libs-3.0.0.zip'"
94+ - name : esp32-s3-devkitc-1|arduino
95+ board : esp32-s3-devkitc-1
96+ platform : espressif32
97+ opts :
98+ - name : esp32-s3-devkitc-1|arduino-2
99+ board : esp32-s3-devkitc-1
100+ 101+ opts :
102+ - name : esp32-s3-devkitc-1|arduino-3
103+ board : esp32-s3-devkitc-1
104+ platform : espressif32
105+ opts : " --project-option 'platform_packages=platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git#3.0.0, platform_packages=platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/arduino-esp32/releases/download/3.0.0/esp32-arduino-libs-3.0.0.zip'"
106+ - name : huzzah|espressif8266
107+ board : huzzah
108+ platform : espressif8266
109+ opts :
110+ steps :
111+ - uses : actions/checkout@v4
112+ - name : Set up cache
113+ uses : actions/cache@v4
114+ with :
115+ path : |
116+ ~/.platformio
117+ ~/.cache/pip
118+ key : ${{ matrix.name }}
119+ - uses : actions/setup-python@v5
120+ with :
121+ python-version : " 3.x"
122+ - run : pip install platformio
123+ - run : platformio platform install ${{ matrix.platform }}
42124
43- - name : test platforms
44- run : python3 ci/build_platform.py esp8266 esp32
125+ - run : platformio ci "examples/Demo/Demo.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
126+ - run : platformio ci "examples/Demo_AP/Demo_AP.ino" -l '.' -b ${{ matrix.board }} ${{ matrix.opts }}
0 commit comments