Skip to content

build(deps): bump the all-dependencies group with 2 updates (#3493) #3069

build(deps): bump the all-dependencies group with 2 updates (#3493)

build(deps): bump the all-dependencies group with 2 updates (#3493) #3069

Workflow file for this run

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