ci: parallelize and use cache

This commit is contained in:
xoviat 2021-03-19 09:09:56 -05:00
parent 01fd0cd92d
commit c565deb34a
2 changed files with 87 additions and 35 deletions

View file

@ -10,17 +10,100 @@ env:
CARGO_TERM_COLOR: always
jobs:
build:
ci:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- package: embassy
target: thumbv7em-none-eabi
- package: embassy
target: thumbv7em-none-eabi
features: log
- package: embassy
target: thumbv7em-none-eabi
features: defmt
- package: embassy
target: thumbv6m-none-eabi
features: defmt
# - package: embassy-nrf-examples
# target: thumbv7em-none-eabi
- package: embassy-nrf
target: thumbv7em-none-eabi
features: 52810
- package: embassy-nrf
target: thumbv7em-none-eabi
features: 52832
- package: embassy-nrf
target: thumbv7em-none-eabi
features: 52833
- package: embassy-nrf
target: thumbv7em-none-eabi
features: 52840
- package: embassy-nrf
target: thumbv7em-none-eabi
features: 52840,log
- package: embassy-nrf
target: thumbv7em-none-eabi
features: 52840,defmt
- package: embassy-stm32f4-examples
target: thumbv7em-none-eabi
features: stm32f405
- package: embassy-stm32f4
target: thumbv7em-none-eabi
features: stm32f405
- package: embassy-stm32f4
target: thumbv7em-none-eabi
features: stm32f405,defmt
- package: embassy-stm32l0
target: thumbv6m-none-eabi
features: stm32l0x2
- package: embassy-stm32l0
target: thumbv6m-none-eabi
features: stm32l0x2,defmt
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
target: ${{ matrix.target }}
components: rust-src, rustfmt
override: true
- name: install
run: rustup target add thumbv7em-none-eabi thumbv6m-none-eabi
- name: cache
id: cache-target
uses: actions/cache@v2
with:
path: target
key: ${{ runner.os }}-${{ matrix.target }}
- uses: actions-rs/cargo@v1
with:
command: check
args: --package ${{ matrix.package }} --features=${{ matrix.features }}
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
components: rustfmt
override: true
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
nrf_examples:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
components: rust-src, rustfmt
target: thumbv7em-none-eabi
override: true
- name: Build
run: ./ci.sh

33
ci.sh
View file

@ -4,37 +4,6 @@ set -euxo pipefail
cd $(dirname $0)
cargo fmt --all -- --check
# embassy std
(cd embassy-std-examples; cargo build)
# embassy embedded
(cd embassy; cargo build --target thumbv7em-none-eabi)
(cd embassy; cargo build --target thumbv7em-none-eabi --features log)
(cd embassy; cargo build --target thumbv7em-none-eabi --features defmt)
(cd embassy; cargo build --target thumbv6m-none-eabi --features defmt)
# embassy-nrf
(cd embassy-nrf-examples; cargo build --target thumbv7em-none-eabi --bins)
(cd embassy-nrf; cargo build --target thumbv7em-none-eabi --features 52810)
#(cd embassy-nrf; cargo build --target thumbv7em-none-eabi --features 52811) # nrf52811-hal doesn't exist yet
(cd embassy-nrf; cargo build --target thumbv7em-none-eabi --features 52832)
(cd embassy-nrf; cargo build --target thumbv7em-none-eabi --features 52833)
(cd embassy-nrf; cargo build --target thumbv7em-none-eabi --features 52840)
(cd embassy-nrf; cargo build --target thumbv7em-none-eabi --features 52840,log)
(cd embassy-nrf; cargo build --target thumbv7em-none-eabi --features 52840,defmt)
# embassy-stm32f4
(cd embassy-stm32f4-examples; cargo build --target thumbv7em-none-eabi --bins --features stm32f405)
(cd embassy-stm32f4; cargo build --target thumbv7em-none-eabi --features stm32f405)
(cd embassy-stm32f4; cargo build --target thumbv7em-none-eabi --features stm32f405,defmt)
# embassy-stm32l0
(cd embassy-stm32l0; cargo build --target thumbv6m-none-eabi --features stm32l0x2)
(cd embassy-stm32l0; cargo build --target thumbv6m-none-eabi --features stm32l0x2,defmt)
(cd embassy-nrf-examples; cargo build --target thumbv7em-none-eabi --bins)