From c565deb34a22d3c93fe138bcd9fa5c0244b7bcb1 Mon Sep 17 00:00:00 2001 From: xoviat Date: Fri, 19 Mar 2021 09:09:56 -0500 Subject: [PATCH] ci: parallelize and use cache --- .github/workflows/rust.yml | 89 ++++++++++++++++++++++++++++++++++++-- ci.sh | 33 +------------- 2 files changed, 87 insertions(+), 35 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 17b8353e..2ba650ee 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -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 diff --git a/ci.sh b/ci.sh index 05b1d0ad..62e59cf3 100755 --- a/ci.sh +++ b/ci.sh @@ -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) \ No newline at end of file