Use Yutori native tool sets #53
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: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| unit: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| - run: npm ci | |
| - run: npm run build --workspace @onkernel/cua-ai | |
| - name: Unit tests | |
| run: npm test --workspace @onkernel/cua-ai -- test/models.test.ts test/tools.test.ts | |
| integration: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| # Only run on the main repo (not forks) so secrets are available. | |
| # Skip draft PRs; still run on every commit to non-draft PRs and on main pushes. | |
| if: github.event_name == 'push' || (github.event.pull_request.head.repo.full_name == github.repository && !github.event.pull_request.draft) | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| - run: npm ci | |
| - run: npm run build --workspace @onkernel/cua-ai | |
| - name: Integration tests | |
| env: | |
| OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
| ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} | |
| GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} | |
| TZAFON_API_KEY: ${{ secrets.TZAFON_API_KEY }} | |
| YUTORI_API_KEY: ${{ secrets.YUTORI_API_KEY }} | |
| run: npm test --workspace @onkernel/cua-ai -- test/computer-tool.integration.test.ts | |
| agent-e2e: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| # Only run on the main repo (not forks) so secrets are available. | |
| # Skip draft PRs; still run on every commit to non-draft PRs and on main pushes. | |
| if: github.event_name == 'push' || (github.event.pull_request.head.repo.full_name == github.repository && !github.event.pull_request.draft) | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| - run: npm ci | |
| - run: npm run build --workspace @onkernel/cua-ai | |
| - run: npm run build --workspace @onkernel/cua-agent | |
| - name: Agent live smoke tests (all providers) | |
| env: | |
| CUA_E2E_LIVE: "1" | |
| KERNEL_API_KEY: ${{ secrets.KERNEL_API_KEY }} | |
| OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
| ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} | |
| GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} | |
| TZAFON_API_KEY: ${{ secrets.TZAFON_API_KEY }} | |
| YUTORI_API_KEY: ${{ secrets.YUTORI_API_KEY }} | |
| run: npm test --workspace @onkernel/cua-agent -- test/e2e.live.test.ts |