@@ -212,7 +212,7 @@ jobs:
212212213213 with :
214214 default : true
215- ldproxy : false
215+ ldproxy : true
216216
217217 # TODO: Double-check and uncomment
218218 # - uses: Swatinem/rust-cache@v2
@@ -236,14 +236,73 @@ jobs:
236236 - name : Build - Examples
237237 run : export WIFI_SSID=ssid; export WIFI_PASS=pass; cd examples/${{ matrix.mcu[0] }}; cargo build --no-default-features --features ${{ matrix.mcu[1] }} --target ${{ matrix.mcu[2] }} -Zbuild-std=core,alloc,panic_abort
238238
239+ build-esp-idf :
240+ name : Build-ESP-IDF
241+ runs-on : ubuntu-latest
242+ permissions : read-all
243+ needs : build-mcu
244+ strategy :
245+ fail-fast : false
246+ matrix :
247+ mcu :
248+ - [std, esp32, xtensa-esp32-espidf]
249+ # - [std, esp32s2, xtensa-esp32s2-espidf]
250+ - [std, esp32s3, xtensa-esp32s3-espidf]
251+ # - [std, esp32c2, riscv32imc-esp-espidf]
252+ # - [std, esp32c3, riscv32imc-esp-espidf]
253+ # - [std, esp32c6, riscv32imac-esp-espidf]
254+ # No Wifi support on esp32h2
255+ # - [std, esp32h2, riscv32imac-esp-espidf]
256+ steps :
257+ - uses : actions/checkout@v4
258+
259+ - uses : dtolnay/rust-toolchain@v1
260+ with :
261+ target : x86_64-unknown-linux-gnu
262+ toolchain : nightly
263+ components : rust-src,rustfmt,clippy
264+
265+ - name : Install MCU target
266+ if : startsWith(matrix.mcu[2], 'riscv32')
267+ run : rustup target add ${{ matrix.mcu[2] }}
268+
269+ - name : Install Rust for Xtensa
270+ if : startsWith(matrix.mcu[2], 'xtensa-')
271+ 272+ with :
273+ default : true
274+ ldproxy : true
275+
276+ # TODO: Double-check and uncomment
277+ # - uses: Swatinem/rust-cache@v2
278+ # with:
279+ # workspaces: |
280+ # ./
281+ # xtask
282+
283+ - name : Clippy
284+ run : cargo clippy --target ${{ matrix.mcu[2] }} -Zbuild-std=std,panic_abort -- -D warnings
285+
286+ - name : Build
287+ run : cargo build --target ${{ matrix.mcu[2] }} -Zbuild-std=std,panic_abort
288+
289+ - name : Fmt Check - Examples
290+ run : cd examples/${{ matrix.mcu[0] }}; cargo fmt -- --check
291+
292+ - name : Clippy - Examples
293+ run : export WIFI_SSID=ssid; export WIFI_PASS=pass; cd examples/${{ matrix.mcu[0] }}; cargo clippy --target ${{ matrix.mcu[2] }} -Zbuild-std=std,panic_abort -- -D warnings
294+
295+ - name : Build - Examples
296+ run : export WIFI_SSID=ssid; export WIFI_PASS=pass; cd examples/${{ matrix.mcu[0] }}; cargo build --target ${{ matrix.mcu[2] }} -Zbuild-std=std,panic_abort
297+
239298 # If libraries are rebuilt and tests are successful, we upload them in a specific job
240299 # that has write access to prevent security breaches, and unwanted use of the token
241300 commit-libs :
242301 name : Commit MbedTLS libs
243302 runs-on : ubuntu-latest
244303 permissions :
245304 contents : write
246- needs : build-mcu
305+ needs : build-esp-idf
247306 # TODO: Currently GitHub doesn't allow pushing to a forked repo's branch when running an action on a PR to upstream.
248307 if : |
249308 github.event.pull_request.head.repo.full_name == github.repository &&
0 commit comments