Agent Builder Tests #18271
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: Agent Builder Tests | |
| on: | |
| workflow_run: | |
| workflows: ['Quality assurance'] | |
| types: | |
| - completed | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.workflow_run.head_sha }} | |
| cancel-in-progress: true | |
| jobs: | |
| check-changes: | |
| if: ${{ github.repository == 'mastra-ai/mastra' }} | |
| runs-on: ubuntu-latest | |
| outputs: | |
| changed: ${{ steps.changes.outputs.changed }} | |
| permissions: | |
| contents: read | |
| statuses: write | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| ref: ${{ github.event.workflow_run.head_sha }} | |
| - name: Set pending status | |
| uses: ./.github/workflows/shared-actions/set-pr-status | |
| with: | |
| status: 'pending' | |
| context: 'Agent Builder Tests' | |
| description: 'Checking for changes' | |
| sha: ${{ github.event.workflow_run.head_sha }} | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| target_url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
| - name: Setup pnpm and Node.js | |
| uses: ./.github/actions/setup-pnpm-node | |
| with: | |
| install-dependencies: 'false' | |
| - name: Check for agent-builder package changes using Turborepo | |
| id: changes | |
| uses: ./.github/actions/turbo-changed | |
| with: | |
| packages: '@mastra/agent-builder' | |
| tasks: 'build,test' | |
| base-ref: 'origin/main' | |
| skip-tests: | |
| needs: check-changes | |
| if: needs.check-changes.outputs.changed == 'false' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| statuses: write | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set success status for unchanged agent-builder | |
| uses: ./.github/workflows/shared-actions/set-pr-status | |
| with: | |
| status: 'success' | |
| context: 'Agent Builder Tests' | |
| description: 'Agent Builder package unchanged - skipping tests' | |
| sha: ${{ github.event.workflow_run.head_sha }} | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| target_url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
| test: | |
| needs: check-changes | |
| if: ${{ github.repository == 'mastra-ai/mastra' && needs.check-changes.outputs.changed == 'true' }} | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| env: | |
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
| TURBO_TEAM: ${{ secrets.TURBO_TEAM }} | |
| TURBO_CACHE: remote:r | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| ref: ${{ github.event.workflow_run.head_sha }} | |
| - name: Setup pnpm and Node.js | |
| uses: ./.github/actions/setup-pnpm-node | |
| - name: Build dependencies | |
| run: pnpm turbo build --filter "@mastra/agent-builder^..." --filter "./stores/*" | |
| env: | |
| NODE_OPTIONS: '--max_old_space_size=6144' | |
| GITHUB_REF_NAME: ${{ github.event.workflow_run.head_branch }} | |
| - name: Run Agent Builder unit tests | |
| run: pnpm --filter "@mastra/agent-builder" test | |
| env: | |
| NODE_OPTIONS: '--max_old_space_size=6144' | |
| GITHUB_REF_NAME: ${{ github.event.workflow_run.head_branch }} | |
| - name: Install integration test dependencies | |
| run: pnpm install --ignore-workspace | |
| working-directory: packages/agent-builder/integration-tests | |
| - name: Run Agent Builder integration tests | |
| run: pnpm test | |
| working-directory: packages/agent-builder/integration-tests | |
| env: | |
| NODE_OPTIONS: '--max_old_space_size=6144' | |
| GITHUB_REF_NAME: ${{ github.event.workflow_run.head_branch }} | |
| OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
| test-success: | |
| needs: [check-changes, test] | |
| if: ${{ always() && needs.check-changes.outputs.changed == 'true' && needs.test.result == 'success' }} | |
| runs-on: ubuntu-latest | |
| permissions: | |
| statuses: write | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set success status for completed tests | |
| uses: ./.github/workflows/shared-actions/set-pr-status | |
| with: | |
| status: 'success' | |
| context: 'Agent Builder Tests' | |
| description: 'All agent builder tests passed' | |
| sha: ${{ github.event.workflow_run.head_sha }} | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| target_url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
| test-failure: | |
| needs: [check-changes, test] | |
| if: ${{ always() && needs.check-changes.outputs.changed == 'true' && needs.test.result == 'failure' }} | |
| runs-on: ubuntu-latest | |
| permissions: | |
| statuses: write | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Set failure status for failed tests | |
| uses: ./.github/workflows/shared-actions/set-pr-status | |
| with: | |
| status: 'failure' | |
| context: 'Agent Builder Tests' | |
| description: 'Agent builder tests failed' | |
| sha: ${{ github.event.workflow_run.head_sha }} | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| target_url: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} |