Skip to content

Commit 29f6b26

Browse files
committed
fix: update ci
1 parent 7286da7 commit 29f6b26

File tree

2 files changed

+165
-99
lines changed

2 files changed

+165
-99
lines changed

.github/workflows/ci.yml

Lines changed: 92 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -4,43 +4,55 @@ on:
44
push:
55
paths-ignore:
66
- "**/**.md"
7-
- "/keywords.txt"
8-
- "/library.json"
9-
- "/library.properties"
10-
- "/docs"
7+
- "LICENSE"
8+
- "keywords.txt"
9+
- "library.json"
10+
- "library.properties"
11+
- "portal"
12+
- "docs/*"
1113
pull_request:
1214
paths-ignore:
1315
- "**/**.md"
14-
- "/keywords.txt"
15-
- "/library.json"
16-
- "/library.properties"
17-
- "/docs"
18-
19-
concurrency:
20-
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
21-
cancel-in-progress: true
22-
16+
- "LICENSE"
17+
- "keywords.txt"
18+
- "library.json"
19+
- "library.properties"
20+
- "portal"
21+
- "docs/*"
22+
2323
jobs:
2424
arduino:
25-
name: arduino ${{ matrix.name }}
25+
name: Arduino - ${{ matrix.name }}
2626
runs-on: ubuntu-latest
2727
strategy:
2828
fail-fast: false
2929
matrix:
3030
include:
31-
- name: package_esp32_index.json
31+
- name: ESP8266
32+
core: esp8266:esp8266
33+
board: esp8266:esp8266:huzzah
34+
index_url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
35+
36+
- name: ESP32
3237
core: esp32:esp32
3338
board: esp32:esp32:esp32
3439
index_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
35-
- name: package_esp32_dev_index.json
40+
41+
- name: ESP32 (Dev Branch)
3642
core: esp32:esp32
3743
board: esp32:esp32:esp32
3844
index_url: https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json
39-
- name: package_esp8266com_index.json
40-
core: esp8266:esp8266
41-
board: esp8266:esp8266:huzzah
42-
index_url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
43-
45+
46+
- name: Pico W | RP2040+W
47+
core: rp2040:rp2040
48+
board: rp2040:rp2040:rpipicow
49+
index_url: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
50+
51+
- name: Pico 2W | RP2350+W
52+
core: rp2040:rp2040
53+
board: rp2040:rp2040:rpipico2w
54+
index_url: https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
55+
4456
steps:
4557
- name: Checkout
4658
uses: actions/checkout@v4
@@ -59,85 +71,101 @@ jobs:
5971
- name: Install core
6072
run: arduino-cli core install --additional-urls "${{ matrix.index_url }}" ${{ matrix.core }}
6173

62-
- name: Install AsyncTCP
63-
run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/mathieucarbou/AsyncTCP#v3.2.6
74+
- name: Install AsyncTCP (ESP32)
75+
if: ${{ matrix.core == 'esp32:esp32' }}
76+
run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/ESP32Async/AsyncTCP#v3.3.7
6477

65-
- name: Install ESPAsyncTCP
66-
run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/mathieucarbou/esphome-ESPAsyncTCP#v2.0.0
78+
- name: Install ESPAsyncTCP (ESP8266)
79+
if: ${{ matrix.core == 'esp8266:esp8266' }}
80+
run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/ESP32Async/ESPAsyncTCP#v2.0.0
81+
82+
- name: Install RPAsyncTCP (RP2040)
83+
if: ${{ matrix.core == 'rp2040:rp2040' }}
84+
run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/ayushsharma82/RPAsyncTCP#v1.3.2
6785

6886
- name: Install ESPAsyncWebServer
69-
run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/mathieucarbou/ESPAsyncWebServer#v3.3.17
87+
run: ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL=true arduino-cli lib install --git-url https://github.com/ESP32Async/ESPAsyncWebServer#v3.7.3
7088

7189
- name: Build Demo
7290
run: arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/Demo/Demo.ino"
7391

7492
- name: Build Demo_AP
7593
run: arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/Demo_AP/Demo_AP.ino"
7694

77-
- name: Build Logging
78-
run: arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/Logging/Logging.ino"
79-
8095
- name: Build HighPerf
8196
run: arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/HighPerf/HighPerf.ino"
8297

98+
- name: Build Logging
99+
run: arduino-cli compile --library . --warnings none -b ${{ matrix.board }} "examples/Logging/Logging.ino"
100+
83101
platformio:
84-
name: "pio:${{ matrix.env }}:${{ matrix.board }}"
102+
name: PlatformIO - ${{ matrix.name }}
85103
runs-on: ubuntu-latest
86104
strategy:
87105
fail-fast: false
88106
matrix:
89107
include:
90-
- env: ci-arduino-2
91-
board: esp32dev
92-
- env: ci-arduino-2
93-
board: esp32-s3-devkitc-1
108+
- name: ESP8266 (Huzzah)
109+
env: ci-esp8266
110+
board: huzzah
111+
112+
- name: ESP8266 (D1 Mini)
113+
env: ci-esp8266
114+
board: d1_mini
94115

95-
- env: ci-arduino-3
116+
- name: ESP32 (Arduino Core v2)
117+
env: ci-esp32-arduino-2
96118
board: esp32dev
97-
- env: ci-arduino-3
98-
board: esp32-s3-devkitc-1
99-
- env: ci-arduino-3
100-
board: esp32-c6-devkitc-1
101119

102-
- env: ci-arduino-310rc1
120+
- name: ESP32
121+
env: ci-esp32
103122
board: esp32dev
104-
- env: ci-arduino-310rc1
123+
124+
- name: ESP32-S2
125+
env: ci-esp32
126+
board: esp32-s2-saola-1
127+
128+
- name: ESP32-S3
129+
env: ci-esp32
105130
board: esp32-s3-devkitc-1
106-
- env: ci-arduino-310rc1
131+
132+
- name: ESP32-C3
133+
env: ci-esp32
134+
board: esp32-c3-devkitc-02
135+
136+
- name: ESP32-C6
137+
env: ci-esp32
107138
board: esp32-c6-devkitc-1
108-
109-
- env: ci-esp8266
110-
board: huzzah
111-
- env: ci-esp8266
112-
board: d1_mini
139+
140+
- name: Pico W | RP2040+W
141+
env: ci-rp2040
142+
board: rpipicow
143+
144+
- name: Pico 2W | RP2350+W
145+
env: ci-rp2350
146+
board: rpipico2w
113147
steps:
114-
- name: Checkout
115-
uses: actions/checkout@v4
148+
- uses: actions/checkout@v4
116149

117-
- name: Cache PlatformIO
150+
- name: Set up cache
118151
uses: actions/cache@v4
119152
with:
120153
key: ${{ runner.os }}-pio
121154
path: |
122-
~/.cache/pip
123155
~/.platformio
124-
125-
- name: Python
156+
~/.cache/pip
157+
158+
- name: Setup Python
126159
uses: actions/setup-python@v5
127160
with:
128161
python-version: "3.x"
129162

130-
- name: Build
163+
- name: Setup PlatformIO
131164
run: |
132165
python -m pip install --upgrade pip
133166
pip install --upgrade platformio
134-
135-
- run: PLATFORMIO_SRC_DIR="examples/Demo" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
136-
- run: PLATFORMIO_SRC_DIR="examples/Demo_AP" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
137-
- run: PLATFORMIO_SRC_DIR="examples/Logging" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
138-
- run: PLATFORMIO_SRC_DIR="examples/HighPerf" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
139-
140-
- run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" PLATFORMIO_SRC_DIR="examples/Demo" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
141-
- run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" PLATFORMIO_SRC_DIR="examples/Demo_AP" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
142-
- run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" PLATFORMIO_SRC_DIR="examples/Logging" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
143-
- run: PLATFORMIO_BUILD_FLAGS="-DWSL_HIGH_PERF" PLATFORMIO_SRC_DIR="examples/HighPerf" PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
167+
168+
- run: PLATFORMIO_SRC_DIR=examples/Demo PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
169+
- run: PLATFORMIO_SRC_DIR=examples/Demo_AP PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
170+
- run: PLATFORMIO_SRC_DIR=examples/HighPerf PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}
171+
- run: PLATFORMIO_SRC_DIR=examples/Logging PIO_BOARD=${{ matrix.board }} pio run -e ${{ matrix.env }}

platformio.ini

Lines changed: 73 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4,59 +4,97 @@ build_flags =
44
-Wall -Wextra
55
-D CONFIG_ARDUHAL_LOG_COLORS
66
-D CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
7-
-D CONFIG_ASYNC_TCP_QUEUE_SIZE=128
8-
-D CONFIG_ASYNC_TCP_RUNNING_CORE=1
9-
-D WS_MAX_QUEUED_MESSAGES=128
10-
-D WSL_HIGH_PERF
11-
lib_deps =
12-
mathieucarbou/ESPAsyncWebServer@^3.3.11
13-
lib_compat_mode = strict
14-
lib_ldf_mode = chain
7+
lib_deps =
8+
esp32async/ESPAsyncWebServer@^3.7.3
159
upload_protocol = esptool
1610
monitor_speed = 115200
1711
monitor_filters = esp32_exception_decoder, log2file
1812

1913
[platformio]
20-
default_envs = arduino-2, arduino-3, arduino-310rc1, esp8266
2114
lib_dir = .
22-
; src_dir = examples/Demo
15+
src_dir = examples/Demo
2316
; src_dir = examples/Demo_AP
24-
src_dir = examples/HighPerf
25-
; src_dir = examples/Logging
26-
27-
[env:arduino-2]
28-
29-
board = esp32-s3-devkitc-1
3017

31-
[env:arduino-3]
32-
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.04/platform-espressif32.zip
18+
[env:esp32]
19+
build_flags = ${env.build_flags}
20+
platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.13/platform-espressif32.zip
3321
board = esp32-s3-devkitc-1
34-
; board = esp32-c6-devkitc-1
35-
36-
[env:arduino-310rc1]
37-
platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.10%%2Brc1/platform-espressif32.zip
38-
board = esp32-s3-devkitc-1
39-
; board = esp32-c6-devkitc-1
22+
lib_deps =
23+
esp32async/AsyncTCP@^3.3.7
24+
${env.lib_deps}
4025

4126
[env:esp8266]
4227
platform = espressif8266
4328
board = huzzah
44-
; board = d1_mini
29+
lib_deps =
30+
esp32async/ESPAsyncTCP@^2.0.0
31+
${env.lib_deps}
4532

46-
; CI
33+
[env:picow]
34+
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
35+
board = rpipicow
36+
framework = arduino
37+
board_build.core = earlephilhower
38+
lib_deps =
39+
ayushsharma82/RPAsyncTCP@^1.3.2
40+
${env.lib_deps}
41+
lib_ignore =
42+
lwIP_ESPHost
4743

48-
[env:ci-arduino-2]
49-
50-
board = ${sysenv.PIO_BOARD}
44+
[env:pico2w]
45+
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
46+
board = rpipico2w
47+
framework = arduino
48+
board_build.core = earlephilhower
49+
lib_deps =
50+
ayushsharma82/RPAsyncTCP@^1.3.2
51+
${env.lib_deps}
52+
lib_ignore =
53+
lwIP_ESPHost
54+
55+
; ------------
56+
; CI Workflows
57+
; ------------
5158

52-
[env:ci-arduino-3]
53-
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.04/platform-espressif32.zip
59+
[env:ci-esp8266]
60+
platform = espressif8266
5461
board = ${sysenv.PIO_BOARD}
62+
lib_deps =
63+
esp32async/ESPAsyncTCP@^2.0.0
64+
${env.lib_deps}
5565

56-
[env:ci-arduino-310rc1]
57-
platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.10%%2Brc1/platform-espressif32.zip
66+
[env:ci-esp32-arduino-2]
67+
platform = espressif32@6.7.0
5868
board = ${sysenv.PIO_BOARD}
69+
lib_deps =
70+
esp32async/AsyncTCP@^3.3.7
71+
${env.lib_deps}
5972

60-
[env:ci-esp8266]
61-
platform = espressif8266
73+
[env:ci-esp32]
74+
platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.13/platform-espressif32.zip
6275
board = ${sysenv.PIO_BOARD}
76+
lib_deps =
77+
esp32async/AsyncTCP@^3.3.7
78+
${env.lib_deps}
79+
80+
[env:ci-rp2040]
81+
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
82+
board = rpipicow
83+
framework = arduino
84+
board_build.core = earlephilhower
85+
lib_deps =
86+
ayushsharma82/RPAsyncTCP@^1.3.2
87+
${env.lib_deps}
88+
lib_ignore =
89+
lwIP_ESPHost
90+
91+
[env:ci-rp2350]
92+
platform = https://github.com/maxgerhardt/platform-raspberrypi.git
93+
board = rpipico2w
94+
framework = arduino
95+
board_build.core = earlephilhower
96+
lib_deps =
97+
ayushsharma82/RPAsyncTCP@^1.3.2
98+
${env.lib_deps}
99+
lib_ignore =
100+
lwIP_ESPHost

0 commit comments

Comments
 (0)