agent-ecosystem/.github/workflows/ci.yml
iliya f7130c3437 chore: update package scripts and improve CI workflow
- 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.
2026-03-07 19:37:59 +02:00

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