refactor(team): reapply team provisioning round2 #1645
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, dev] | |
| paths: | |
| - 'src/**' | |
| - 'scripts/**' | |
| - 'agent-teams-controller/**' | |
| - 'mcp-server/**' | |
| - 'packages/**' | |
| - 'resources/runtime/**' | |
| - 'resources/terminal-platform/**' | |
| - '.runtime-download/**' | |
| - 'runtime.lock.json' | |
| - 'terminal-platform.lock.json' | |
| - 'vendor/terminal-platform/**' | |
| - 'test/**' | |
| - '.github/workflows/**' | |
| - '.github/dependabot.yml' | |
| - 'pnpm-workspace.yaml' | |
| - 'package.json' | |
| - 'pnpm-lock.yaml' | |
| - 'tsconfig*.json' | |
| - 'vite*.config.*' | |
| - 'vitest*.config.*' | |
| - 'tailwind.config.*' | |
| - 'eslint.config.*' | |
| pull_request: | |
| paths: | |
| - 'src/**' | |
| - 'scripts/**' | |
| - 'agent-teams-controller/**' | |
| - 'mcp-server/**' | |
| - 'packages/**' | |
| - 'resources/runtime/**' | |
| - 'resources/terminal-platform/**' | |
| - '.runtime-download/**' | |
| - 'runtime.lock.json' | |
| - 'terminal-platform.lock.json' | |
| - 'vendor/terminal-platform/**' | |
| - 'test/**' | |
| - '.github/workflows/**' | |
| - '.github/dependabot.yml' | |
| - '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@v6 | |
| - name: Guard runtime artifacts | |
| run: node ./scripts/ci/forbid-runtime-artifacts.cjs | |
| - name: Verify runtime lock | |
| run: node ./scripts/ci/verify-runtime-lock.mjs | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: .node-version | |
| cache: pnpm | |
| - name: Restore pnpm node-gyp executable bit | |
| run: | | |
| PNPM_STORE="$(pnpm store path)" | |
| PNPM_BIN_DIR="$(dirname "$(command -v pnpm)")" | |
| for path in "$PNPM_STORE" "${PNPM_HOME:-}" "$PNPM_BIN_DIR"; do | |
| if [ -d "$path" ]; then | |
| find "$path" -path '*/node-gyp/gyp/gyp_main.py' -exec chmod +x {} \; 2>/dev/null || true | |
| fi | |
| done | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Audit dependencies | |
| run: pnpm audit --audit-level high | |
| - name: Restore ESLint cache | |
| uses: actions/cache@v5 | |
| with: | |
| path: .eslintcache | |
| key: eslint-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml', 'eslint.config.*', 'src/**/*.ts', 'src/**/*.tsx') }} | |
| - name: Validate workspace truth gate | |
| env: | |
| NODE_OPTIONS: --max-old-space-size=8192 | |
| run: pnpm check:ci | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: .node-version | |
| cache: pnpm | |
| - name: Restore pnpm node-gyp executable bit | |
| run: | | |
| PNPM_STORE="$(pnpm store path)" | |
| PNPM_BIN_DIR="$(dirname "$(command -v pnpm)")" | |
| for path in "$PNPM_STORE" "${PNPM_HOME:-}" "$PNPM_BIN_DIR"; do | |
| if [ -d "$path" ]; then | |
| find "$path" -path '*/node-gyp/gyp/gyp_main.py' -exec chmod +x {} \; 2>/dev/null || true | |
| fi | |
| done | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Test | |
| run: pnpm test:workspace:ci | |
| task-change-ledger-windows: | |
| name: Task change ledger Windows smoke | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Enable Windows long paths | |
| shell: pwsh | |
| run: git config --global core.longpaths true | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version-file: .node-version | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Test task change ledger | |
| run: pnpm test:task-change-ledger |