166 lines
5.0 KiB
YAML
166 lines
5.0 KiB
YAML
name: Rust
|
|
|
|
on:
|
|
push:
|
|
branches: [ staging, trying, master ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
|
|
jobs:
|
|
all:
|
|
runs-on: ubuntu-20.04
|
|
needs: [build, fmt, test, metapac_gen]
|
|
steps:
|
|
- name: Done
|
|
run: exit 0
|
|
build:
|
|
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: stm32l072cz,defmt
|
|
- package: embassy-stm32
|
|
target: thumbv7m-none-eabi
|
|
features: stm32l151cb-a,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/stm32l1
|
|
target: thumbv7m-none-eabi
|
|
- package: examples/stm32wb55
|
|
target: thumbv7em-none-eabihf
|
|
- package: examples/stm32wl55
|
|
target: thumbv7em-none-eabihf
|
|
- package: examples/stm32f0
|
|
target: thumbv6m-none-eabi
|
|
- package: examples/stm32g0
|
|
target: thumbv6m-none-eabi
|
|
- package: examples/wasm
|
|
target: wasm32-unknown-unknown
|
|
- package: examples/stm32f1
|
|
target: thumbv7m-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: find -name '*.rs' | xargs rustfmt --check --skip-children --unstable-features --edition 2018
|
|
|
|
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
|