Remove direct embedded-hal v0.2 dependency (#466) #1172
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/[email protected] | |
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/[email protected] | |
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 |