name: Rust on: push: branches: [master] pull_request: branches: [master] env: CARGO_TERM_COLOR: always jobs: ci: runs-on: ubuntu-latest strategy: matrix: include: - package: embassy target: thumbv7em-none-eabi - package: embassy target: thumbv7em-none-eabi features: log,executor-agnostic - package: embassy target: thumbv7em-none-eabi features: defmt - package: embassy target: thumbv6m-none-eabi features: defmt - package: examples/std target: x86_64-unknown-linux-gnu - package: embassy-nrf target: thumbv7em-none-eabi features: nrf52805 - package: embassy-nrf target: thumbv7em-none-eabi features: nrf52810 - package: embassy-nrf target: thumbv7em-none-eabi features: nrf52811 - package: embassy-nrf target: thumbv7em-none-eabi features: nrf52820 - package: embassy-nrf target: thumbv7em-none-eabi features: nrf52832 - package: embassy-nrf target: thumbv7em-none-eabi features: nrf52833 - package: embassy-nrf target: thumbv7em-none-eabi features: nrf52840 - package: embassy-nrf target: thumbv7em-none-eabi features: nrf52840,log - package: embassy-nrf target: thumbv7em-none-eabi features: nrf52840,defmt - package: examples/nrf target: thumbv7em-none-eabi - package: examples/rp target: thumbv6m-none-eabi - package: embassy-stm32 target: thumbv7em-none-eabi features: stm32f411ce,defmt - package: embassy-stm32 target: thumbv7em-none-eabi features: stm32f429zi,log - package: embassy-stm32 target: thumbv7em-none-eabi features: stm32h755zi_cm7,defmt - package: embassy-stm32 target: thumbv7em-none-eabi features: stm32l476vg,defmt - package: embassy-stm32 target: thumbv6m-none-eabi features: stm32l053r8,defmt - package: examples/stm32f4 target: thumbv7em-none-eabi - package: examples/stm32l4 target: thumbv7em-none-eabi - package: examples/stm32h7 target: thumbv7em-none-eabi - package: examples/stm32l0 target: thumbv6m-none-eabi - package: examples/stm32wb55 target: thumbv7em-none-eabihf - package: examples/stm32f0 target: thumbv6m-none-eabi steps: - uses: actions/checkout@v2 with: submodules: true - uses: actions-rs/toolchain@v1 with: toolchain: stable - name: cache id: cache-target uses: actions/cache@v2 with: path: target key: ${{ runner.os }}-${{ matrix.target }} # We have to append the "-D warnings" flag to .cargo/config rather than # using the RUSTFLAGS environment variable because if we set RUSTFLAGS # cargo will ignore the rustflags config in .cargo/config. - name: Check run: | mkdir -p .cargo echo -e '[target."cfg(all())"]\nrustflags = ["-D", "warnings"]' >> .cargo/config cd ${{ matrix.package }} && RUSTFLAGS=-Dwarnings cargo check --features=${{ matrix.features }} --target=${{ matrix.target }} fmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: stable - name: Check fmt run: for i in embassy-*; do (cd $i; cargo fmt -- --check); done test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: stable - name: Test run: cd embassy && cargo test metapac_gen: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: submodules: true - uses: actions-rs/toolchain@v1 with: toolchain: stable - name: Generate pregenerated metapac run: cd stm32-metapac-gen; cargo run --release