feat(datatets-supervisor): improvement of the supervisor graph + langsmith datasets #1202
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, master, develop] | |
| pull_request: | |
| branches: [main, master, develop] | |
| jobs: | |
| validate: | |
| name: Validate and Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| - uses: pnpm/action-setup@v3 | |
| name: Install pnpm | |
| with: | |
| version: 8 | |
| run_install: false | |
| - name: Get pnpm store directory | |
| shell: bash | |
| run: | | |
| echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV | |
| - uses: actions/cache@v3 | |
| name: Setup pnpm cache | |
| with: | |
| path: ${{ env.STORE_PATH }} | |
| key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm-store- | |
| - name: Ensure database and server dependencies | |
| run: | | |
| echo "Adding explicit pg dependencies" | |
| pnpm add -D @types/[email protected] --filter @snakagent/database | |
| pnpm add [email protected] --filter @snakagent/database | |
| pnpm add -D @types/[email protected] --filter @snakagent/server | |
| pnpm add [email protected] --filter @snakagent/server | |
| - name: Install dependencies | |
| run: pnpm install --force | |
| - name: Build packages in order | |
| run: | | |
| pnpm --filter @snakagent/metrics build | |
| pnpm --filter @snakagent/core build | |
| pnpm --filter @snakagent/database build | |
| pnpm --filter @snakagent/agents build | |
| - name: Check TypeScript compilation (Server) | |
| run: pnpm --filter @snakagent/server tsc --noEmit -p tsconfig.json | |
| - name: Check TypeScript compilation (Agents) | |
| run: pnpm --filter @snakagent/agents tsc --noEmit -p tsconfig.json | |
| - name: Check TypeScript compilation (Metrics) | |
| run: pnpm --filter @snakagent/metrics tsc --noEmit -p tsconfig.json | |
| - name: Check TypeScript compilation (Frontend) | |
| run: echo "Skipping TypeScript check for client during ESM migration" | |
| - name: Check formatting with Prettier | |
| run: | | |
| pnpm prettier --check "packages/**/*.{ts,tsx}" | |
| - name: Security audit | |
| run: pnpm audit || true | |
| build: | |
| name: Build Check | |
| runs-on: ubuntu-latest | |
| needs: validate | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| - uses: pnpm/action-setup@v3 | |
| name: Install pnpm | |
| with: | |
| version: 8 | |
| run_install: false | |
| - name: Get pnpm store directory | |
| shell: bash | |
| run: | | |
| echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV | |
| - uses: actions/cache@v3 | |
| name: Setup pnpm cache | |
| with: | |
| path: ${{ env.STORE_PATH }} | |
| key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm-store- | |
| - name: Ensure database and server dependencies | |
| run: | | |
| echo "Adding explicit pg dependencies" | |
| pnpm add -D @types/[email protected] --filter @snakagent/database | |
| pnpm add [email protected] --filter @snakagent/database | |
| pnpm add -D @types/[email protected] --filter @snakagent/server | |
| pnpm add [email protected] --filter @snakagent/server | |
| - name: Install dependencies | |
| run: pnpm install --force | |
| - name: Build server | |
| run: pnpm build |