build(deps): bump the all-dependencies group with 2 updates (#3493) #3069
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| # Detect which file groups changed to skip irrelevant jobs on PRs | |
| changes: | |
| name: Detect Changes | |
| runs-on: ubuntu-latest | |
| if: github.event_name == 'pull_request' | |
| permissions: | |
| pull-requests: read | |
| outputs: | |
| backend: ${{ steps.filter.outputs.backend }} | |
| mcp: ${{ steps.filter.outputs.mcp }} | |
| scripts: ${{ steps.filter.outputs.scripts }} | |
| steps: | |
| - uses: dorny/paths-filter@v4 | |
| id: filter | |
| with: | |
| filters: | | |
| backend: | |
| - 'loom-daemon/**' | |
| - 'loom-api/**' | |
| - 'Cargo.toml' | |
| - 'Cargo.lock' | |
| - 'rust-toolchain.toml' | |
| - '.github/workflows/ci.yml' | |
| mcp: | |
| - 'mcp-loom/**' | |
| - '.github/workflows/ci.yml' | |
| scripts: | |
| - 'scripts/**' | |
| - 'defaults/**' | |
| - '.github/workflows/ci.yml' | |
| backend-lint-and-check: | |
| name: Rust Linting & Build Check | |
| needs: changes | |
| if: always() && (github.event_name == 'push' || needs.changes.outputs.backend == 'true') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy, rustfmt | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo fmt --all -- --check | |
| - run: cargo clippy --package loom-daemon --package loom-api -- -D warnings -A clippy::cast_precision_loss -A clippy::cast_possible_truncation -A clippy::cast_sign_loss -A clippy::too_many_lines -A clippy::panic -A clippy::unwrap_used -A clippy::nonminimal_bool -A clippy::redundant_closure -A clippy::redundant_closure_for_method_calls -A clippy::format_push_string -A clippy::uninlined_format_args | |
| - run: cargo check --workspace --all-targets | |
| backend-tests: | |
| name: Rust Unit Tests | |
| needs: changes | |
| if: always() && (github.event_name == 'push' || needs.changes.outputs.backend == 'true') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo test --workspace | |
| mcp-build: | |
| name: MCP Server Build | |
| needs: changes | |
| if: always() && (github.event_name == 'push' || needs.changes.outputs.mcp == 'true') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: "20" | |
| - name: Build unified MCP server | |
| run: cd mcp-loom && npm install && npm run build | |
| - name: Verify build output | |
| run: test -f mcp-loom/dist/index.js | |
| installer-tests: | |
| name: Installer Integration Tests | |
| needs: changes | |
| if: always() && (github.event_name == 'push' || needs.changes.outputs.scripts == 'true') | |
| # macOS runner required: uninstall-loom.sh uses sed -i '' (macOS syntax) | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Run installer tests | |
| run: bash scripts/test-installer.sh |