Skip to content

Commit

Permalink
CI: deduplicate, assert that defmt feature compiles
Browse files Browse the repository at this point in the history
  • Loading branch information
bugadani committed Sep 5, 2023
1 parent d0485d0 commit dd914c6
Showing 1 changed file with 76 additions and 168 deletions.
244 changes: 76 additions & 168 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}

jobs:
esp32:
formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
Expand All @@ -37,191 +37,99 @@ jobs:
ldproxy: false
- uses: Swatinem/rust-cache@v1

- name: check
run: cd examples-esp32 && cargo check
- name: check (all features)
run: cd examples-esp32 && cargo check --all-features
- name: build (ble)
run: cd examples-esp32 && cargo build --release --example=ble --features=ble
- name: build (async-ble)
run: cd examples-esp32 && cargo build --release --example=async_ble --features=async,ble
- name: build (dhcp)
run: cd examples-esp32 && cargo build --release --example=dhcp --features=wifi
- name: build (static_ip)
run: cd examples-esp32 && cargo build --release --example=static_ip --features=wifi
- name: build (esp_now)
run: cd examples-esp32 && cargo build --release --example=esp_now --features=esp-now
- name: build (embassy_esp_now)
run: cd examples-esp32 && cargo build --release --example=embassy_esp_now --features=async,esp-now
- name: build (embassy_dhcp)
run: cd examples-esp32 && cargo build --release --example=embassy_dhcp --features=async,wifi,embassy-net
- name: build (embassy_access_point)
run: cd examples-esp32 && cargo build --release --example=embassy_access_point --features=async,wifi,embassy-net
- name: build (static_ip)
run: cd examples-esp32 && cargo build --release --example=static_ip --features=wifi
- name: check-fmt
run: cargo fmt --check

checks-xtensa:
strategy:
matrix:
chip: ["esp32", "esp32s2", "esp32s3"]

esp32c2:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@v1
- uses: esp-rs/xtensa-toolchain@v1.5
with:
target: riscv32imc-unknown-none-elf
toolchain: nightly-2023-05-16
components: rust-src
default: true
buildtargets: ${{ matrix.chip }}
ldproxy: false
- uses: Swatinem/rust-cache@v1

- name: check
run: cd examples-esp32c2 && cargo +nightly-2023-05-16 check
- name: check (all features)
run: cd examples-esp32c2 && cargo +nightly-2023-05-16 check --all-features
- name: build (ble)
run: cd examples-esp32c2 && cargo +nightly-2023-05-16 build --release --example=ble --features=ble
- name: build (async-ble)
run: cd examples-esp32c2 && cargo +nightly-2023-05-16 build --release --example=async_ble --features=async,ble
- name: build (dhcp)
run: cd examples-esp32c2 && cargo +nightly-2023-05-16 build --release --example=dhcp --features=wifi
- name: build (static_ip)
run: cd examples-esp32c2 && cargo +nightly-2023-05-16 build --release --example=static_ip --features=wifi
- name: build (esp_now)
run: cd examples-esp32c2 && cargo +nightly-2023-05-16 build --release --example=esp_now --features=esp-now
- name: build (embassy_esp_now)
run: cd examples-esp32c2 && cargo +nightly-2023-05-16 build --release --example=embassy_esp_now --features=async,esp-now
- name: build (embassy_dhcp)
run: cd examples-esp32c2 && cargo +nightly-2023-05-16 build --release --example=embassy_dhcp --features=async,wifi,embassy-net
- name: build (embassy_access_point)
run: cd examples-esp32c2 && cargo +nightly-2023-05-16 build --release --example=embassy_access_point --features=async,wifi,embassy-net
- name: build (static_ip)
run: cd examples-esp32c2 && cargo +nightly-2023-05-16 build --release --example=static_ip --features=wifi
run: cd examples-${{ matrix.chip }} && cargo check
- name: check (common features)
run: cd examples-${{ matrix.chip }} && cargo check --features=async,wifi,esp-now,embassy-net,log
- name: check (common features + defmt)
run: cd examples-${{ matrix.chip }} && cargo check --no-default-features --features=${{ matrix.chip }},async,wifi,esp-now,embassy-net,defmt
- name: check (dhcp)
run: cd examples-${{ matrix.chip }} && cargo build --release --example=dhcp --features=wifi
- name: check (static_ip)
run: cd examples-${{ matrix.chip }} && cargo build --release --example=static_ip --features=wifi
- name: check (esp_now)
run: cd examples-${{ matrix.chip }} && cargo build --release --example=esp_now --features=esp-now
- name: check (embassy_esp_now)
run: cd examples-${{ matrix.chip }} && cargo build --release --example=embassy_esp_now --features=async,esp-now
- name: check (embassy_dhcp)
run: cd examples-${{ matrix.chip }} && cargo build --release --example=embassy_dhcp --features=async,wifi,embassy-net
- name: check (embassy_access_point)
run: cd examples-${{ matrix.chip }} && cargo build --release --example=embassy_access_point --features=async,wifi,embassy-net

esp32c3:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@v1
with:
target: riscv32imc-unknown-none-elf
toolchain: nightly-2023-05-16
components: rust-src
- uses: Swatinem/rust-cache@v1
- name: check (common features + ble)
if: ${{ matrix.chip == 'esp32' || matrix.chip == 'esp32s3' }}
run: cd examples-${{ matrix.chip }} && cargo check --features=async,wifi,ble,esp-now,embassy-net,log
- name: check (common features + ble + defmt)
if: ${{ matrix.chip == 'esp32' || matrix.chip == 'esp32s3' }}
run: cd examples-${{ matrix.chip }} && cargo check --no-default-features --features=${{ matrix.chip }},async,wifi,ble,esp-now,embassy-net,defmt
- name: check (ble)
if: ${{ matrix.chip == 'esp32' || matrix.chip == 'esp32s3' }}
run: cd examples-${{ matrix.chip }} && cargo build --release --example=ble --features=ble
- name: check (async_ble)
if: ${{ matrix.chip == 'esp32' || matrix.chip == 'esp32s3' }}
run: cd examples-${{ matrix.chip }} && cargo build --release --example=async_ble --features=async,ble

- name: check
run: cd examples-esp32c3 && cargo +nightly-2023-05-16 check
- name: check (all features)
run: cd examples-esp32c3 && cargo +nightly-2023-05-16 check --all-features
- name: build (ble)
run: cd examples-esp32c3 && cargo +nightly-2023-05-16 build --release --example=ble --features=ble
- name: build (async-ble)
run: cd examples-esp32c3 && cargo +nightly-2023-05-16 build --release --example=async_ble --features=async,ble
- name: build (coex)
run: cd examples-esp32c3 && cargo +nightly-2023-05-16 build --release --example=coex --features=wifi,ble
- name: build (dhcp)
run: cd examples-esp32c3 && cargo +nightly-2023-05-16 build --release --example=dhcp --features=wifi
- name: build (static_ip)
run: cd examples-esp32c3 && cargo +nightly-2023-05-16 build --release --example=static_ip --features=wifi
- name: build (esp_now)
run: cd examples-esp32c3 && cargo +nightly-2023-05-16 build --release --example=esp_now --features=esp-now
- name: build (embassy_esp_now)
run: cd examples-esp32c3 && cargo +nightly-2023-05-16 build --release --example=embassy_esp_now --features=async,esp-now
- name: build (embassy_dhcp)
run: cd examples-esp32c3 && cargo +nightly-2023-05-16 build --release --example=embassy_dhcp --features=async,wifi,embassy-net
- name: build (embassy_access_point)
run: cd examples-esp32c3 && cargo +nightly-2023-05-16 build --release --example=embassy_access_point --features=async,wifi,embassy-net
- name: build (static_ip)
run: cd examples-esp32c3 && cargo +nightly-2023-05-16 build --release --example=static_ip --features=wifi
checks-riscv:
strategy:
matrix:
chip: ["esp32c2", "esp32c3", "esp32c6"]

esp32c6:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: dtolnay/rust-toolchain@v1
with:
target: riscv32imac-unknown-none-elf
target: riscv32imc-unknown-none-elf
toolchain: nightly-2023-05-16
components: rust-src
components: rust-src,rustfmt
- uses: Swatinem/rust-cache@v1

- name: check
run: cd examples-esp32c6 && cargo +nightly-2023-05-16 check
- name: check (all features)
run: cd examples-esp32c6 && cargo +nightly-2023-05-16 check --all-features
- name: build (dhcp)
run: cd examples-esp32c6 && cargo +nightly-2023-05-16 build --release --example=dhcp --features=wifi
- name: build (static_ip)
run: cd examples-esp32c6 && cargo +nightly-2023-05-16 build --release --example=static_ip --features=wifi
- name: build (esp_now)
run: cd examples-esp32c6 && cargo +nightly-2023-05-16 build --release --example=esp_now --features=esp-now
- name: build (embassy_esp_now)
run: cd examples-esp32c6 && cargo +nightly-2023-05-16 build --release --example=embassy_esp_now --features=async,esp-now
- name: build (embassy_dhcp)
run: cd examples-esp32c6 && cargo +nightly-2023-05-16 build --release --example=embassy_dhcp --features=async,wifi,embassy-net
- name: build (embassy_access_point)
run: cd examples-esp32c6 && cargo +nightly-2023-05-16 build --release --example=embassy_access_point --features=async,wifi,embassy-net
- name: build (static_ip)
run: cd examples-esp32c6 && cargo +nightly-2023-05-16 build --release --example=static_ip --features=wifi
run: cd examples-${{ matrix.chip }} && cargo +nightly-2023-05-16 check
- name: check (common features)
run: cd examples-${{ matrix.chip }} && cargo +nightly-2023-05-16 check --features=async,wifi,esp-now,embassy-net,log
- name: check (common features + defmt)
run: cd examples-${{ matrix.chip }} && cargo +nightly-2023-05-16 check --no-default-features --features=${{ matrix.chip }},async,wifi,esp-now,embassy-net,defmt
- name: check (dhcp)
run: cd examples-${{ matrix.chip }} && cargo +nightly-2023-05-16 build --release --example=dhcp --features=wifi
- name: check (static_ip)
run: cd examples-${{ matrix.chip }} && cargo +nightly-2023-05-16 build --release --example=static_ip --features=wifi
- name: check (esp_now)
run: cd examples-${{ matrix.chip }} && cargo +nightly-2023-05-16 build --release --example=esp_now --features=esp-now
- name: check (embassy_esp_now)
run: cd examples-${{ matrix.chip }} && cargo +nightly-2023-05-16 build --release --example=embassy_esp_now --features=async,esp-now
- name: check (embassy_dhcp)
run: cd examples-${{ matrix.chip }} && cargo +nightly-2023-05-16 build --release --example=embassy_dhcp --features=async,wifi,embassy-net
- name: check (embassy_access_point)
run: cd examples-${{ matrix.chip }} && cargo +nightly-2023-05-16 build --release --example=embassy_access_point --features=async,wifi,embassy-net

esp32s2:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: esp-rs/[email protected]
with:
default: true
buildtargets: esp32s2
ldproxy: false
- uses: Swatinem/rust-cache@v1

- name: check
run: cd examples-esp32s2 && cargo check
- name: check (all features)
run: cd examples-esp32s2 && cargo check --all-features
- name: build (dhcp)
run: cd examples-esp32s2 && cargo build --release --example=dhcp --features=wifi
- name: build (static_ip)
run: cd examples-esp32s2 && cargo build --release --example=static_ip --features=wifi
- name: build (esp_now)
run: cd examples-esp32s2 && cargo build --release --example=esp_now --features=esp-now
- name: build (embassy_esp_now)
run: cd examples-esp32s2 && cargo build --release --example=embassy_esp_now --features=async,esp-now
- name: build (embassy_dhcp)
run: cd examples-esp32s2 && cargo build --release --example=embassy_dhcp --features=async,wifi,embassy-net
- name: build (embassy_access_point)
run: cd examples-esp32s2 && cargo build --release --example=embassy_access_point --features=async,wifi,embassy-net
- name: build (static_ip)
run: cd examples-esp32s2 && cargo build --release --example=static_ip --features=wifi

esp32s3:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: esp-rs/[email protected]
with:
default: true
buildtargets: esp32s3
ldproxy: false
- uses: Swatinem/rust-cache@v1

- name: check
run: cd examples-esp32s3 && cargo check
- name: check (all features)
run: cd examples-esp32s3 && cargo check --all-features
- name: build (ble)
run: cd examples-esp32s3 && cargo build --release --example=ble --features=ble
- name: build (async-ble)
run: cd examples-esp32s3 && cargo build --release --example=async_ble --features=async,ble
- name: build (coex)
run: cd examples-esp32s3 && cargo build --release --example=coex --features=wifi,ble
- name: build (dhcp)
run: cd examples-esp32s3 && cargo build --release --example=dhcp --features=wifi
- name: build (static_ip)
run: cd examples-esp32s3 && cargo build --release --example=static_ip --features=wifi
- name: build (esp_now)
run: cd examples-esp32s3 && cargo build --release --example=esp_now --features=esp-now
- name: build (embassy_esp_now)
run: cd examples-esp32s3 && cargo build --release --example=embassy_esp_now --features=async,esp-now
- name: build (embassy_dhcp)
run: cd examples-esp32s3 && cargo build --release --example=embassy_dhcp --features=async,wifi,embassy-net
- name: build (embassy_access_point)
run: cd examples-esp32s3 && cargo build --release --example=embassy_access_point --features=async,wifi,embassy-net
- name: build (static_ip)
run: cd examples-esp32s3 && cargo build --release --example=static_ip --features=wifi
- name: check (common features + ble)
if: ${{ matrix.chip == 'esp32c2' || matrix.chip == 'esp32c3' }}
run: cd examples-${{ matrix.chip }} && cargo +nightly-2023-05-16 check --features=async,wifi,ble,esp-now,embassy-net,log
- name: check (common features + ble + defmt)
if: ${{ matrix.chip == 'esp32c2' || matrix.chip == 'esp32c3' }}
run: cd examples-${{ matrix.chip }} && cargo +nightly-2023-05-16 check --no-default-features --features=${{ matrix.chip }},async,wifi,ble,esp-now,embassy-net,defmt
- name: check (ble)
if: ${{ matrix.chip == 'esp32c2' || matrix.chip == 'esp32c3' }}
run: cd examples-${{ matrix.chip }} && cargo +nightly-2023-05-16 build --release --example=ble --features=ble
- name: check (async_ble)
if: ${{ matrix.chip == 'esp32c2' || matrix.chip == 'esp32c3' }}
run: cd examples-${{ matrix.chip }} && cargo +nightly-2023-05-16 build --release --example=async_ble --features=async,ble

0 comments on commit dd914c6

Please sign in to comment.