diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1e710e7ac3..fe1a5472af 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -85,7 +85,6 @@ jobs: name: ruff path: target/debug/ruff - cargo-test-wasm: runs-on: ubuntu-latest name: "cargo test (wasm)" @@ -176,3 +175,26 @@ jobs: with: name: ecosystem-result path: ecosystem-result + + cargo-udeps: + name: "cargo udeps" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: "Install Rust toolchain" + run: rustup toolchain install nightly + - name: "Install cargo-udeps" + uses: taiki-e/install-action@cargo-udeps + - name: "Run cargo-udeps" + run: | + unused_dependencies=$(cargo +nightly udeps > unused.txt && cat unused.txt | cut -d $'\n' -f 2-) + if [ -z "$unused_dependencies" ]; then + echo "No unused dependencies found" > $GITHUB_STEP_SUMMARY + exit 0 + else + echo "Unused dependencies found" > $GITHUB_STEP_SUMMARY + echo '```console' >> $GITHUB_STEP_SUMMARY + echo "$unused_dependencies" >> $GITHUB_STEP_SUMMARY + echo '```' >> $GITHUB_STEP_SUMMARY + exit 1 + fi