chore(deps): bump react-resizable-panels from 4.7.3 to 4.10.0 in /apps/desktop #347
Workflow file for this run
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: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| jobs: | |
| # ── Stage 1: Install & cache ────────────────────────────────────────── | |
| install: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - name: Restore node_modules cache | |
| id: cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/mcp-server/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/mcp-server/package-lock.json','apps/web/package-lock.json') }} | |
| - name: Install all dependencies (parallel) | |
| if: steps.cache.outputs.cache-hit != 'true' | |
| run: | | |
| cd apps/desktop && npm ci & | |
| cd apps/mcp-server && npm ci & | |
| cd apps/web && npm ci & | |
| wait | |
| # ── Secret scanning (no deps needed) ─────────────────────────────────── | |
| secret-scan: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: gitleaks/gitleaks-action@v2 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # ── Stage 2: Parallel checks ────────────────────────────────────────── | |
| typecheck-desktop: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/mcp-server/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/mcp-server/package-lock.json','apps/web/package-lock.json') }} | |
| - run: cd apps/desktop && npm run typecheck | |
| typecheck-mcp: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/mcp-server/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/mcp-server/package-lock.json','apps/web/package-lock.json') }} | |
| - run: cd apps/mcp-server && npm run typecheck | |
| typecheck-web: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/mcp-server/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/mcp-server/package-lock.json','apps/web/package-lock.json') }} | |
| - run: cd apps/web && npm run typecheck | |
| lint-desktop: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/mcp-server/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/mcp-server/package-lock.json','apps/web/package-lock.json') }} | |
| - run: cd apps/desktop && npm run lint | |
| test-desktop: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| shard: [1, 2, 3, 4, 5, 6, 7, 8] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/mcp-server/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/mcp-server/package-lock.json','apps/web/package-lock.json') }} | |
| - run: cd apps/desktop && npx vitest run --shard=${{ matrix.shard }}/8 | |
| test-mcp: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/mcp-server/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/mcp-server/package-lock.json','apps/web/package-lock.json') }} | |
| - run: cd apps/mcp-server && npm test | |
| build: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/mcp-server/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/mcp-server/package-lock.json','apps/web/package-lock.json') }} | |
| - run: cd apps/desktop && npm run build | |
| - run: cd apps/mcp-server && npm run build | |
| - run: cd apps/web && npm run build | |
| validate-docs: | |
| needs: install | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - uses: actions/cache/restore@v4 | |
| with: | |
| path: | | |
| apps/desktop/node_modules | |
| apps/mcp-server/node_modules | |
| apps/web/node_modules | |
| key: nm-${{ hashFiles('apps/desktop/package-lock.json','apps/mcp-server/package-lock.json','apps/web/package-lock.json') }} | |
| - run: node scripts/validate-docs.mjs | |
| # ── Gate: all jobs must pass ────────────────────────────────────────── | |
| ci-pass: | |
| if: always() | |
| needs: | |
| - secret-scan | |
| - typecheck-desktop | |
| - typecheck-mcp | |
| - typecheck-web | |
| - lint-desktop | |
| - test-desktop | |
| - test-mcp | |
| - build | |
| - validate-docs | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check all jobs passed | |
| run: | | |
| if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]] || | |
| [[ "${{ contains(needs.*.result, 'cancelled') }}" == "true" ]]; then | |
| echo "::error::One or more required jobs failed or were cancelled" | |
| exit 1 | |
| fi | |
| echo "All CI jobs passed" |