ci: parallelize and use cache
This commit is contained in:
parent
01fd0cd92d
commit
c565deb34a
89
.github/workflows/rust.yml
vendored
89
.github/workflows/rust.yml
vendored
@ -10,17 +10,100 @@ env:
|
|||||||
CARGO_TERM_COLOR: always
|
CARGO_TERM_COLOR: always
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
ci:
|
||||||
runs-on: ubuntu-latest
|
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:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- uses: actions-rs/toolchain@v1
|
- uses: actions-rs/toolchain@v1
|
||||||
with:
|
with:
|
||||||
toolchain: nightly
|
toolchain: nightly
|
||||||
|
target: ${{ matrix.target }}
|
||||||
components: rust-src, rustfmt
|
components: rust-src, rustfmt
|
||||||
override: true
|
override: true
|
||||||
- name: install
|
- name: cache
|
||||||
run: rustup target add thumbv7em-none-eabi thumbv6m-none-eabi
|
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
|
- name: Build
|
||||||
run: ./ci.sh
|
run: ./ci.sh
|
||||||
|
31
ci.sh
31
ci.sh
@ -4,37 +4,6 @@ set -euxo pipefail
|
|||||||
|
|
||||||
cd $(dirname $0)
|
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
|
# embassy-nrf
|
||||||
|
|
||||||
(cd embassy-nrf-examples; cargo build --target thumbv7em-none-eabi --bins)
|
(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)
|
|
||||||
|
Loading…
Reference in New Issue
Block a user