diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 767e4224..f1256320 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -12,11 +12,11 @@ env: jobs: all: runs-on: ubuntu-20.04 - needs: [build, test] + needs: [build-nightly, build-stable, test] steps: - name: Done run: exit 0 - build: + build-nightly: runs-on: ubuntu-latest permissions: id-token: write @@ -41,6 +41,28 @@ jobs: chmod +x /usr/local/bin/cargo-batch ./ci.sh rm -rf target_ci/*{,/release}/{build,deps,.fingerprint}/{lib,}{embassy,stm32}* + build-stable: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: Cache multiple paths + uses: actions/cache@v2 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target_ci_stable + key: rust-stable-${{ runner.os }}-${{ hashFiles('rust-toolchain.toml') }} + - name: build + run: | + curl -L -o /usr/local/bin/cargo-batch https://github.com/embassy-rs/cargo-batch/releases/download/batch-0.1.0/cargo-batch + chmod +x /usr/local/bin/cargo-batch + ./ci_stable.sh + rm -rf target_ci_stable/*{,/release}/{build,deps,.fingerprint}/{lib,}{embassy,stm32}* test: runs-on: ubuntu-latest diff --git a/.gitignore b/.gitignore index 92f9a32b..144dd703 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ target target_ci +target_ci_stable Cargo.lock third_party /Cargo.toml diff --git a/ci_stable.sh b/ci_stable.sh new file mode 100755 index 00000000..c4ec3082 --- /dev/null +++ b/ci_stable.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +set -euo pipefail + +export CARGO_TARGET_DIR=$PWD/target_ci_stable +export RUSTFLAGS=-Dwarnings +export DEFMT_LOG=trace + +sed -i 's/channel.*/channel = "stable"/g' rust-toolchain.toml + +cargo batch \ + --- build --release --manifest-path embassy/Cargo.toml --target thumbv7em-none-eabi \ + --- build --release --manifest-path embassy/Cargo.toml --target thumbv7em-none-eabi --features log,executor-agnostic \ + --- build --release --manifest-path embassy/Cargo.toml --target thumbv7em-none-eabi --features defmt \ + --- build --release --manifest-path embassy/Cargo.toml --target thumbv6m-none-eabi --features defmt \ + --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv7em-none-eabi --features nrf52805,gpiote,time-driver-rtc1 \ + --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv7em-none-eabi --features nrf52810,gpiote,time-driver-rtc1 \ + --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv7em-none-eabi --features nrf52811,gpiote,time-driver-rtc1 \ + --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv7em-none-eabi --features nrf52820,gpiote,time-driver-rtc1 \ + --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv7em-none-eabi --features nrf52832,gpiote,time-driver-rtc1 \ + --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv7em-none-eabi --features nrf52833,gpiote,time-driver-rtc1,unstable-traits \ + --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv8m.main-none-eabihf --features nrf9160-s,gpiote,time-driver-rtc1 \ + --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv8m.main-none-eabihf --features nrf9160-ns,gpiote,time-driver-rtc1,unstable-traits \ + --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv8m.main-none-eabihf --features nrf5340-app-s,gpiote,time-driver-rtc1,unstable-traits \ + --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv8m.main-none-eabihf --features nrf5340-app-ns,gpiote,time-driver-rtc1 \ + --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv8m.main-none-eabihf --features nrf5340-net,gpiote,time-driver-rtc1,unstable-traits \ + --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv7em-none-eabi --features nrf52840,gpiote,time-driver-rtc1 \ + --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv7em-none-eabi --features nrf52840,log,gpiote,time-driver-rtc1 \ + --- build --release --manifest-path embassy-nrf/Cargo.toml --target thumbv7em-none-eabi --features nrf52840,defmt,gpiote,time-driver-rtc1,unstable-traits \ + --- build --release --manifest-path examples/nrf/Cargo.toml --target thumbv7em-none-eabi --no-default-features --out-dir out/examples/nrf --bin raw_spawn \