Skip to content

Remove direct embedded-hal v0.2 dependency (#466) #1172

Remove direct embedded-hal v0.2 dependency (#466)

Remove direct embedded-hal v0.2 dependency (#466) #1172

Workflow file for this run

name: CI
on:
pull_request:
branches:
- main
paths-ignore:
- "**/CHANGELOG.md"
- "**/README.md"
push:
branches:
- main
paths-ignore:
- "**/CHANGELOG.md"
- "**/README.md"
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Examples:
SSID: ""
PASSWORD: ""
STATIC_IP: ""
GATEWAY_IP: ""
HOST_IP: ""
DEFMT_LOG: "trace"
# Cancel any currently running workflows from the same PR, branch, or
# tag when a new workflow is triggered.
#
# https://stackoverflow.com/a/66336834
concurrency:
cancel-in-progress: true
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
jobs:
formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: esp-rs/xtensa-toolchain@v1.5
with:
default: true
buildtargets: esp32
ldproxy: false
- uses: Swatinem/rust-cache@v2
- name: check-fmt
run: cargo fmt --check
docs_rs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: remove rust-toolchain.toml
run: rm rust-toolchain.toml
- uses: dtolnay/rust-toolchain@v1
with:
target: riscv32imc-unknown-none-elf,riscv32imac-unknown-none-elf,riscv32imafc-unknown-none-elf
toolchain: nightly
components: rust-src
- uses: Swatinem/rust-cache@v2
- name: install docs-rs
run: cargo install cargo-docs-rs
- name: docs-rs
run: cd esp-wifi && cargo docs-rs
builds:
strategy:
matrix:
chip: ["esp32", "esp32s2", "esp32s3", "esp32c2", "esp32c3", "esp32c6", "esp32h2"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: esp-rs/xtensa-toolchain@v1.5
with:
default: true
ldproxy: false
- uses: Swatinem/rust-cache@v2
- name: build
if: ${{ matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }}
- name: build (common features)
if: ${{ matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --features=async,wifi,esp-now,embassy-net,log,esp-hal/embassy-time-timg0
- name: build (common features + defmt)
if: ${{ matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --no-default-features --features=async,wifi,esp-now,embassy-net,defmt,esp-hal/embassy-time-timg0
- name: build (all possible network options)
if: ${{ matrix.chip != 'esp32h2' }}
run: cd esp-wifi && for combo in {ipv4,},{ipv6,},{tcp,},{udp,},{igmp,},{dhcpv4,} ; do cargo b${{ matrix.chip }} --release --no-default-features --features=wifi,wifi-logs,$combo ; done
- name: build (access_point)
if: ${{ matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --release --example=access_point --features=wifi
- name: build (access_point_with_sta)
if: ${{ matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --release --example=access_point_with_sta --features=wifi
- name: build (dhcp)
if: ${{ matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --release --example=dhcp --features=wifi
- name: build (bench)
if: ${{ matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --release --example=bench --features=wifi
- name: build (static_ip)
if: ${{ matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --release --example=static_ip --features=wifi
- name: build (esp_now)
if: ${{ matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --release --example=esp_now --features=esp-now
- name: build (embassy_esp_now)
if: ${{ matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --release --example=embassy_esp_now --features=async,esp-now,esp-hal/embassy-time-timg0
- name: build (embassy_esp_now_duplex)
if: ${{ matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --release --example=embassy_esp_now_duplex --features=async,esp-now,esp-hal/embassy-time-timg0
- name: build (embassy_dhcp)
if: ${{ matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --release --example=embassy_dhcp --features=async,wifi,embassy-net,esp-hal/embassy-time-timg0
- name: build (embassy_bench)
if: ${{ matrix.chip != 'esp32h2' && matrix.chip != 'esp32s2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --release --example=embassy_bench --features=async,wifi,embassy-net,esp-hal/embassy-time-timg0
- name: build (embassy_access_point)
if: ${{ matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --release --example=embassy_access_point --features=async,wifi,embassy-net,esp-hal/embassy-time-timg0
- name: build (embassy_access_point_with_sta)
if: ${{ matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --release --example=embassy_access_point_with_sta --features=async,wifi,embassy-net,esp-hal/embassy-time-timg0
- name: build (common features + ble)
if: ${{ matrix.chip != 'esp32s2' && matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --features=async,wifi,ble,esp-now,embassy-net,log,esp-hal/embassy-time-timg0
- name: build (common features + ble + defmt)
if: ${{ matrix.chip != 'esp32s2' && matrix.chip != 'esp32h2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --no-default-features --features=async,wifi,ble,esp-now,embassy-net,defmt,esp-hal/embassy-time-timg0
- name: build (ble)
if: ${{ matrix.chip != 'esp32s2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --release --example=ble --no-default-features --features=ble
- name: build (embassy_ble)
if: ${{ matrix.chip != 'esp32s2' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --release --example=embassy_ble --no-default-features --features=async,ble,esp-hal/embassy-time-timg0
- name: build (coex)
if: ${{ matrix.chip == 'esp32' || matrix.chip == 'esp32s3' || matrix.chip == 'esp32c3' }}
run: cd esp-wifi && cargo b${{ matrix.chip }} --release --example=coex --features=wifi,ble,coex