on: [push, pull_request] name: Build and Test check jobs: builds: name: Build checks runs-on: ubuntu-20.04 strategy: matrix: features: ["", "--features rp2040-e5"] mode: ["", "--release"] steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: stable target: thumbv6m-none-eabi override: true profile: minimal - name: Build workspace uses: actions-rs/cargo@v1 with: command: build args: ${{ matrix.mode }} --workspace ${{ matrix.features }} - name: Build workspace and examples uses: actions-rs/cargo@v1 with: command: build args: ${{ matrix.mode }} --workspace --examples ${{ matrix.features }} - name: List built examples and clean run: rm -vrf target/thumbv6m-none-eabi/*/examples/* | sed -e "s/removed '\(.*\)'/\1/" | xargs -l basename | grep -Ev '(-|\.d)' - name: Test uses: actions-rs/cargo@v1 with: command: test args: --tests --target x86_64-unknown-linux-gnu ${{ matrix.features }} - name: Test docs uses: actions-rs/cargo@v1 with: command: test args: --doc --target x86_64-unknown-linux-gnu ${{ matrix.features }} - name: Clean uses: actions-rs/cargo@v1 with: command: clean - uses: actions-rs/toolchain@v1 with: toolchain: nightly target: thumbv6m-none-eabi override: true profile: minimal - name: Install cargo-udeps run: curl --location "https://github.com/est31/cargo-udeps/releases/download/v0.1.35/cargo-udeps-v0.1.35-x86_64-unknown-linux-gnu.tar.gz" --output - | tar --strip-components=2 -C ~/.cargo/bin -xzvvf - ./cargo-udeps-v0.1.35-x86_64-unknown-linux-gnu/cargo-udeps - name: Check unused deps run: cargo udeps ${{ matrix.mode }} --workspace ${{ matrix.features }}