embassy/.github/workflows/rust.yml

170 lines
5.1 KiB
YAML
Raw Normal View History

2020-10-31 22:03:46 +00:00
name: Rust
on:
push:
2020-12-01 16:52:06 +00:00
branches: [master]
2020-10-31 22:03:46 +00:00
pull_request:
2020-12-01 16:52:06 +00:00
branches: [master]
2020-10-31 22:03:46 +00:00
env:
CARGO_TERM_COLOR: always
jobs:
2021-03-19 14:09:56 +00:00
ci:
2020-10-31 22:03:46 +00:00
runs-on: ubuntu-latest
2021-03-19 14:09:56 +00:00
strategy:
matrix:
include:
- package: embassy
target: thumbv7em-none-eabi
- package: embassy
target: thumbv7em-none-eabi
2021-05-19 10:57:22 +00:00
features: log,executor-agnostic
2021-03-19 14:09:56 +00:00
- package: embassy
target: thumbv7em-none-eabi
features: defmt
- package: embassy
target: thumbv6m-none-eabi
features: defmt
2021-06-01 23:30:07 +00:00
- package: examples/std
2021-05-28 21:13:23 +00:00
target: x86_64-unknown-linux-gnu
2021-06-01 23:30:07 +00:00
2021-03-19 14:09:56 +00:00
- package: embassy-nrf
target: thumbv7em-none-eabi
features: nrf52805
2021-03-19 14:09:56 +00:00
- package: embassy-nrf
target: thumbv7em-none-eabi
features: nrf52810
2021-03-19 14:09:56 +00:00
- package: embassy-nrf
target: thumbv7em-none-eabi
features: nrf52811
2021-03-19 14:09:56 +00:00
- package: embassy-nrf
target: thumbv7em-none-eabi
features: nrf52820
2021-03-19 14:09:56 +00:00
- package: embassy-nrf
target: thumbv7em-none-eabi
features: nrf52832
2021-03-19 14:09:56 +00:00
- 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
2021-06-01 23:30:07 +00:00
- package: examples/nrf
target: thumbv7em-none-eabi
- package: examples/rp
2021-03-29 02:32:46 +00:00
target: thumbv6m-none-eabi
2021-06-01 23:30:07 +00:00
2021-05-17 01:01:30 +00:00
- package: embassy-stm32
target: thumbv7em-none-eabi
2021-05-17 01:28:24 +00:00
features: stm32f411ce,defmt
2021-05-17 01:01:30 +00:00
- package: embassy-stm32
target: thumbv7em-none-eabi
2021-05-17 01:25:30 +00:00
features: stm32f429zi,log
- package: embassy-stm32
target: thumbv7em-none-eabi
features: stm32h755zi_cm7,defmt
2021-05-17 01:28:24 +00:00
- package: embassy-stm32
target: thumbv7em-none-eabi
features: stm32l476vg,defmt
2021-05-21 16:52:53 +00:00
- package: embassy-stm32
target: thumbv6m-none-eabi
features: stm32l053r8,defmt
2021-06-01 23:30:07 +00:00
- package: examples/stm32f4
2021-05-17 01:01:30 +00:00
target: thumbv7em-none-eabi
2021-06-08 14:41:18 +00:00
- package: examples/stm32l4
target: thumbv7em-none-eabi
2021-06-08 18:47:32 +00:00
- package: examples/stm32h7
target: thumbv7em-none-eabi
2021-06-09 13:22:52 +00:00
- package: examples/stm32l0
target: thumbv6m-none-eabi
- package: examples/stm32wb55
target: thumbv7em-none-eabihf
2021-07-15 16:50:39 +00:00
- package: examples/stm32f0
target: thumbv6m-none-eabi
2020-10-31 22:03:46 +00:00
steps:
2020-12-01 16:52:06 +00:00
- uses: actions/checkout@v2
2021-05-31 01:07:46 +00:00
with:
submodules: true
2021-07-24 12:47:58 +00:00
- uses: actions/cache@v2
2020-12-01 16:52:06 +00:00
with:
2021-07-24 12:47:58 +00:00
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ matrix.target }}-${{ hashFiles('**/Cargo.toml') }}
restore-keys: |
${{ runner.os }}-cargo-${{ matrix.target }}-
2021-07-05 00:33:29 +00:00
# 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
2021-07-05 00:33:29 +00:00
run: |
2021-07-24 12:47:58 +00:00
export CARGO_TARGET_DIR=$PWD/target
2021-07-05 00:33:29 +00:00
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 }}
2021-03-19 14:09:56 +00:00
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Check fmt
run: for i in embassy-*; do (cd $i; cargo fmt -- --check); done
2021-06-10 01:05:44 +00:00
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
2021-07-24 12:47:58 +00:00
- uses: actions/cache@v2
with:
2021-07-24 12:47:58 +00:00
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Test
2021-07-24 12:47:58 +00:00
run: |
export CARGO_TARGET_DIR=$PWD/target
cd embassy
cargo test
2021-06-10 01:05:44 +00:00
metapac_gen:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
2021-07-24 12:47:58 +00:00
- uses: actions/cache@v2
2021-06-10 01:05:44 +00:00
with:
2021-07-24 12:47:58 +00:00
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }}
restore-keys: |
${{ runner.os }}-cargo-
2021-06-10 01:05:44 +00:00
- name: Generate pregenerated metapac
2021-07-24 12:47:58 +00:00
run: |
export CARGO_TARGET_DIR=$PWD/target
cd stm32-metapac-gen
cargo run --release