fix: add .gitkeep to docs public directory #15
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] | |
| jobs: | |
| lint-and-typecheck: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - run: npm ci | |
| - run: npx turbo lint | |
| - run: npx turbo typecheck | |
| test-shared: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - run: npm ci | |
| - run: npx turbo test --filter=@agent-identity/shared | |
| test-api: | |
| runs-on: ubuntu-latest | |
| services: | |
| postgres: | |
| image: postgres:16-alpine | |
| env: | |
| POSTGRES_DB: agent_identity_test | |
| POSTGRES_USER: agent_identity | |
| POSTGRES_PASSWORD: agent_identity | |
| ports: | |
| - 5433:5432 | |
| options: >- | |
| --health-cmd "pg_isready -U agent_identity" | |
| --health-interval 5s | |
| --health-timeout 3s | |
| --health-retries 5 | |
| env: | |
| DATABASE_URL: postgresql://agent_identity:agent_identity@localhost:5433/agent_identity_test | |
| NODE_ENV: test | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - run: npm ci | |
| - name: Generate Prisma client | |
| working-directory: apps/api | |
| run: npx prisma generate | |
| - name: Run Prisma migrations on test database | |
| working-directory: apps/api | |
| run: npx prisma migrate deploy | |
| - name: Run API tests | |
| run: npx turbo test --filter=api | |
| build: | |
| runs-on: ubuntu-latest | |
| needs: [lint-and-typecheck, test-shared, test-api] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - run: npm ci | |
| - run: npx turbo build | |
| verify-sdk-package: | |
| runs-on: ubuntu-latest | |
| needs: [lint-and-typecheck, test-shared, test-api] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - run: npm ci | |
| - name: Build SDK | |
| run: npx turbo build --filter=@sidclaw/sdk | |
| - name: Verify package contents | |
| working-directory: packages/sdk | |
| run: | | |
| npm pack --dry-run | |
| # Verify dist exists and has expected files | |
| test -f dist/index.js | |
| test -f dist/index.cjs | |
| test -f dist/index.d.ts | |
| test -f dist/mcp/index.js | |
| test -f dist/webhooks/index.js | |
| test -f README.md | |
| test -f LICENSE | |
| - name: Verify bundle size | |
| working-directory: packages/sdk | |
| run: | | |
| SIZE=$(du -sb dist/ | cut -f1) | |
| echo "Bundle size: $SIZE bytes" | |
| if [ $SIZE -gt 200000 ]; then | |
| echo "ERROR: Bundle size exceeds 200KB" | |
| exit 1 | |
| fi |