on: pull_request: branches: - main push: workflow_dispatch: name: CI env: CARGO_TERM_COLOR: always jobs: check-riscv: name: Check RISC-V Examples runs-on: ubuntu-latest strategy: fail-fast: false matrix: toolchain: [stable, nightly] steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal target: riscv32imc-unknown-none-elf toolchain: ${{ matrix.toolchain }} default: true - uses: Swatinem/rust-cache@v1 - uses: actions-rs/cargo@v1 with: command: check # The `hello_rgb` example requires the `smartled` feature to be enabled args: --examples --manifest-path=esp32c3-hal/Cargo.toml --target=riscv32imc-unknown-none-elf --features=smartled check-xtensa: name: Check Xtensa Examples runs-on: ubuntu-latest strategy: fail-fast: false matrix: chip: [esp32, esp32s2, esp32s3] steps: - uses: actions/checkout@v2 - uses: esp-rs/xtensa-toolchain@v1.2 with: default: true ldproxy: false buildtargets: ${{ matrix.chip }} - uses: Swatinem/rust-cache@v1 - uses: actions-rs/cargo@v1 with: command: check # The `hello_rgb` example requires the `smartled` feature to be enabled args: -Zbuild-std=core --examples --manifest-path=${{ matrix.chip }}-hal/Cargo.toml --target=xtensa-${{ matrix.chip }}-none-elf --features=smartled clippy: name: Clippy runs-on: ubuntu-latest strategy: fail-fast: false matrix: chip: [esp32, esp32c3, esp32s2, esp32s3] steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly default: true components: clippy - uses: Swatinem/rust-cache@v1 - uses: actions-rs/cargo@v1 with: command: clippy # I find `clippy::too-many-arguments` to be rather rather arbitrary. # As for `clippy::module-inception`... don't tell me what to do ;) args: --manifest-path=${{ matrix.chip }}-hal/Cargo.toml -- --no-deps -D warnings --A clippy::too-many-arguments --A clippy::module-inception