try some codex stuff #341
Workflow file for this run
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: e2e | ||
| on: | ||
| push: | ||
| branches: [main] | ||
| pull_request: | ||
| branches: [main] | ||
| jobs: | ||
| e2e: | ||
| name: ${{ matrix.suite }} | ||
| runs-on: depot-ubuntu-24.04 | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| include: | ||
| - suite: smoke | ||
| test_path: tests/smoke-only | ||
| services: [] | ||
| wait_on: [] | ||
| - suite: integration | ||
| test_path: tests/integration | ||
| services: [] | ||
| wait_on: [] | ||
| - suite: copilotkit-home | ||
| test_path: tests/copilotkit-home.spec.ts | ||
| services: [] | ||
| wait_on: [] | ||
| - suite: agno | ||
| test_path: tests/agnoTests | ||
| services: ["dojo","agno"] | ||
| wait_on: ["http://localhost:9999","tcp:localhost:8002"] | ||
| - suite: crew-ai | ||
| test_path: tests/crewAITests | ||
| services: ["dojo","crew-ai"] | ||
| wait_on: ["http://localhost:9999","tcp:localhost:8003"] | ||
| - suite: langgraph | ||
| test_path: tests/langgraphTests | ||
| services: ["dojo","langgraph-platform-python","langgraph-platform-typescript"] | ||
| wait_on: ["http://localhost:9999","tcp:localhost:8005","tcp:localhost:8006"] | ||
| - suite: langgraph-fastapi | ||
| test_path: tests/langgraphFastAPITests | ||
| services: ["dojo","langgraph-fastapi"] | ||
| wait_on: ["http://localhost:9999","tcp:localhost:8004"] | ||
| - suite: llama-index | ||
| test_path: tests/llamaIndexTests | ||
| services: ["dojo","llama-index"] | ||
| wait_on: ["http://localhost:9999","tcp:localhost:8007"] | ||
| - suite: mastra | ||
| test_path: tests/mastraTests | ||
| services: ["dojo","mastra"] | ||
| wait_on: ["http://localhost:9999","tcp:localhost:8008"] | ||
| - suite: mastra-agent-local | ||
| test_path: tests/mastraAgentLocalTests | ||
| services: ["dojo"] | ||
| wait_on: ["http://localhost:9999"] | ||
| - suite: middleware-starter | ||
| test_path: tests/middlewareStarterTests | ||
| services: ["dojo"] | ||
| wait_on: ["http://localhost:9999"] | ||
| - suite: pydantic-ai | ||
| test_path: tests/pydanticAITests | ||
| services: ["dojo","pydantic-ai"] | ||
| wait_on: ["http://localhost:9999","tcp:localhost:8009"] | ||
| - suite: server-starter | ||
| test_path: tests/serverStarterTests | ||
| services: ["dojo","server-starter"] | ||
| wait_on: ["http://localhost:9999","tcp:localhost:8000"] | ||
| - suite: server-starter-all | ||
| test_path: tests/serverStarterAllFeaturesTests | ||
| services: ["dojo","server-starter-all"] | ||
| wait_on: ["http://localhost:9999","tcp:localhost:8001"] | ||
| - suite: vercel-ai-sdk | ||
| test_path: tests/vercelAISdkTests | ||
| services: ["dojo"] | ||
| wait_on: ["http://localhost:9999"] | ||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v4 | ||
| - name: Set up Node.js | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: '22' | ||
| - name: Install pnpm | ||
| uses: pnpm/action-setup@v4 | ||
| with: | ||
| version: 10.13.1 | ||
| - name: Install Poetry | ||
| uses: snok/install-poetry@v1 | ||
| with: | ||
| version: latest | ||
| virtualenvs-create: true | ||
| virtualenvs-in-project: true | ||
| - name: Install uv | ||
| uses: astral-sh/setup-uv@v6 | ||
| - name: Setup pnpm cache | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.local/share/pnpm/store | ||
| key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-pnpm-store- | ||
| - name: Install dependencies | ||
| working-directory: typescript-sdk | ||
| run: pnpm install --frozen-lockfile | ||
| - name: Prepare dojo for e2e | ||
| working-directory: typescript-sdk/apps/dojo | ||
| if: ${{ join(matrix.services, ',') != '' }} | ||
| run: node ./scripts/prep-dojo-everything.js --only ${{ join(matrix.services, ',') }} | ||
| - name: Install e2e dependencies | ||
| working-directory: typescript-sdk/apps/dojo/e2e | ||
| run: | | ||
| pnpm install | ||
| - name: write langgraph env files | ||
| working-directory: typescript-sdk/integrations/langgraph | ||
| env: | ||
| OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | ||
| LANGSMITH_API_KEY: ${{ secrets.LANGSMITH_API_KEY }} | ||
| if: ${{ contains(join(matrix.services, ','), 'langgraph-fastapi') || contains(join(matrix.services, ','), 'langgraph-platform-python') || contains(join(matrix.services, ','), 'langgraph-platform-typescript') }} | ||
| run: | | ||
| echo "OPENAI_API_KEY=${OPENAI_API_KEY}" > examples/python/.env | ||
| echo "LANGSMITH_API_KEY=${LANGSMITH_API_KEY}" >> examples/python/.env | ||
| echo "OPENAI_API_KEY=${OPENAI_API_KEY}" > examples/typescript/.env | ||
| echo "LANGSMITH_API_KEY=${LANGSMITH_API_KEY}" >> examples/typescript/.env | ||
| echo "OPENAI_API_KEY=${OPENAI_API_KEY}" > python/ag_ui_langgraph/.env | ||
| echo "LANGSMITH_API_KEY=${LANGSMITH_API_KEY}" >> python/ag_ui_langgraph/.env | ||
| - name: Run dojo+agents | ||
| uses: JarvusInnovations/background-action@v1 | ||
| env: | ||
| OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | ||
| LANGSMITH_API_KEY: ${{ secrets.LANGSMITH_API_KEY }} | ||
| if: ${{ join(matrix.services, ',') != '' && contains(join(matrix.services, ','), 'dojo') }} | ||
| with: | ||
| run: | | ||
| node ../scripts/run-dojo-everything.js --only ${{ join(matrix.services, ',') }} | ||
| working-directory: typescript-sdk/apps/dojo/e2e | ||
| wait-on: ${{ join(matrix.wait_on, '\n') }} | ||
| - name: Run tests – ${{ matrix.suite }} | ||
| working-directory: typescript-sdk/apps/dojo/e2e | ||
| env: | ||
| BASE_URL: http://localhost:9999 | ||
| run: | | ||
| pnpm test -- ${{ matrix.test_path }} | ||
| - name: Upload traces – ${{ matrix.suite }} | ||
| if: always() # Uploads artifacts even if tests fail | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: playwright-traces-${{ matrix.suite }} | ||
| path: typescript-sdk/apps/dojo/e2e/test-results/ | ||
| retention-days: 7 | ||