name: CI
on:
push:
branches:
- master
pull_request:
schedule:
- cron: '50 4 * * *'
workflow_dispatch:
jobs:
compile:
name: Compile / Rust ${{ matrix.rust_toolchain }}
runs-on: ubuntu-latest
strategy:
matrix:
rust_toolchain:
- nightly
- 1.88
steps:
- name: Setup | Checkout
uses: actions/checkout@v4
- name: Setup | Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust_toolchain }}
components: rustfmt, clippy, rust-src
- name: Build | Fmt Check
run: cargo fmt -- --check
- name: Build | Clippy
run: cargo clippy --features std --examples --no-deps -- -Dwarnings
- name: Build | Clippy - defmt
run: cargo clippy --features std,defmt --no-deps -- -Dwarnings
- name: Build | Clippy - log
run: cargo clippy --features std,log --examples --no-deps -- -Dwarnings
- name: Build | Default
run: cargo build --features log
- name: Build | Non-default
run: cargo build --no-default-features
- name: Build | Examples
run: cargo build --examples --features log
- name: Build | Examples - defmt
run: export DEFMT_LOG=trace; cargo check --examples --features std,defmt
embassy:
name: Embassy / Requires Rust 1.91
runs-on: ubuntu-latest
steps:
- name: Setup | Checkout
uses: actions/checkout@v4
- name: Setup | Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.91
components: rustfmt, clippy, rust-src
- name: Build | Clippy
run: cargo clippy --features std,edge-nal-embassy/all --examples --no-deps -- -Dwarnings
- name: Build | Clippy - defmt
run: cargo clippy --features std,edge-nal-embassy/all,defmt --no-deps -- -Dwarnings
- name: Build | Clippy - log
run: cargo clippy --features std,edge-nal-embassy/all,log --examples --no-deps -- -Dwarnings
- name: Build | Embassy
run: cargo build --no-default-features --features embassy,defmt
- name: Test | edge-nal-embassy
run: cargo test -p edge-nal-embassy --all-features