- Enhanced package.json scripts by adding a new linting command for the MCP workspace and updating the check script to include MCP linting. - Modified CI workflow to replace individual typecheck and lint steps with a consolidated validation step for improved efficiency. - Introduced a new TypeScript configuration for testing in the MCP server, enhancing type checking capabilities. - Reorganized imports in several components for better clarity and maintainability.
92 lines
2 KiB
YAML
92 lines
2 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'src/**'
|
|
- 'agent-teams-controller/**'
|
|
- 'mcp-server/**'
|
|
- 'test/**'
|
|
- '.github/workflows/**'
|
|
- 'pnpm-workspace.yaml'
|
|
- 'package.json'
|
|
- 'pnpm-lock.yaml'
|
|
- 'tsconfig*.json'
|
|
- 'vite*.config.*'
|
|
- 'vitest*.config.*'
|
|
- 'tailwind.config.*'
|
|
- 'eslint.config.*'
|
|
pull_request:
|
|
branches: [main]
|
|
paths:
|
|
- 'src/**'
|
|
- 'agent-teams-controller/**'
|
|
- 'mcp-server/**'
|
|
- 'test/**'
|
|
- '.github/workflows/**'
|
|
- 'pnpm-workspace.yaml'
|
|
- 'package.json'
|
|
- 'pnpm-lock.yaml'
|
|
- 'tsconfig*.json'
|
|
- 'vite*.config.*'
|
|
- 'vitest*.config.*'
|
|
- 'tailwind.config.*'
|
|
- 'eslint.config.*'
|
|
|
|
jobs:
|
|
validate:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup pnpm
|
|
uses: pnpm/action-setup@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
cache: pnpm
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install --no-frozen-lockfile
|
|
|
|
- name: Restore ESLint cache
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: .eslintcache
|
|
key: eslint-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml', 'eslint.config.*') }}
|
|
restore-keys: |
|
|
eslint-${{ runner.os }}-
|
|
|
|
- name: Validate workspace truth gate
|
|
run: pnpm check
|
|
|
|
test:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest]
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup pnpm
|
|
uses: pnpm/action-setup@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
cache: pnpm
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install --no-frozen-lockfile
|
|
|
|
- name: Test
|
|
run: pnpm test:workspace
|