diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 0d94d3c..d6c0e94 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -46,20 +46,45 @@ jobs: restore-keys: | ${{ runner.os }}-cargo-build-target- - - name: Check code - run: cargo check --workspace --verbose + # ๐Ÿ” Check only crates under bin/ + - name: Check code (all crates under bin/) + run: | + set -euo pipefail + find bin -name Cargo.toml -print0 | while IFS= read -r -d '' manifest; do + echo "=== cargo check --manifest-path $manifest ===" + cargo check --manifest-path "$manifest" --verbose + done - - name: Run tests - run: cargo test --workspace --verbose + # โœ… Run tests only for crates under bin/ + - name: Run tests (all crates under bin/) + run: | + set -euo pipefail + find bin -name Cargo.toml -print0 | while IFS= read -r -d '' manifest; do + echo "=== cargo test --manifest-path $manifest ===" + cargo test --manifest-path "$manifest" --verbose + done - - name: Run clippy - run: cargo clippy --workspace -- -D warnings + # ๐Ÿงน Clippy only for crates under bin/ + - name: Run clippy (all crates under bin/) + run: | + set -euo pipefail + find bin -name Cargo.toml -print0 | while IFS= read -r -d '' manifest; do + echo "=== cargo clippy --manifest-path $manifest ===" + cargo clippy --manifest-path "$manifest" -- -D warnings + done + # Formatting can safely stay workspace-wide - name: Check formatting run: cargo fmt --all -- --check - - name: Build release binaries - run: cargo build --workspace --release --verbose + # ๐Ÿ— Build release binaries only for crates under bin/ + - name: Build release binaries (all crates under bin/) + run: | + set -euo pipefail + find bin -name Cargo.toml -print0 | while IFS= read -r -d '' manifest; do + echo "=== cargo build --manifest-path $manifest --release ===" + cargo build --manifest-path "$manifest" --release --verbose + done - name: List built binaries run: |