feat(playground-ui): add processor combobox for breadcrumb navigation #35985
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: Quality assurance | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| branches: [main, 0.x] | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| # Run on main repository or for trusted bot PRs | |
| if: ${{ github.repository == 'mastra-ai/mastra' && !contains(github.event.pull_request.files.*.path, 'examples/') && !contains(github.event.pull_request.files.*.path, 'docs/') && !contains(github.event.pull_request.files.*.path, '.changeset/') && !contains(github.event.pull_request.files.*.path, 'generated-changesets/') }} | |
| env: | |
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
| TURBO_TEAM: ${{ secrets.TURBO_TEAM }} | |
| TURBO_CACHE: remote:rw | |
| permissions: | |
| pull-requests: read | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v5 | |
| - name: Setup pnpm and Node.js | |
| uses: ./.github/actions/setup-pnpm-node | |
| - name: Lint | |
| run: pnpm turbo --filter "!./examples/**/*" --filter "!./docs/**/*" --filter "!@internal/playground" lint | |
| - name: Format | |
| run: pnpm prettier --check . | |
| prebuild: | |
| name: Prebuild | |
| runs-on: ubuntu-latest | |
| if: ${{ github.repository == 'mastra-ai/mastra' && !contains(github.event.pull_request.files.*.path, 'examples/') && !contains(github.event.pull_request.files.*.path, 'docs/') && !contains(github.event.pull_request.files.*.path, '.changeset/') && !contains(github.event.pull_request.files.*.path, 'generated-changesets/') }} | |
| env: | |
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
| TURBO_TEAM: ${{ secrets.TURBO_TEAM }} | |
| TURBO_CACHE: remote:rw | |
| NODE_OPTIONS: --max-old-space-size=4096 | |
| permissions: | |
| pull-requests: read | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v5 | |
| - name: Setup pnpm and Node.js | |
| uses: ./.github/actions/setup-pnpm-node | |
| - name: Build | |
| run: pnpm turbo --filter "!./examples/**/*" --filter "!./docs/" build | |
| - name: Type Check | |
| run: pnpm typecheck | |
| check-bundle: | |
| name: Validate build outputs | |
| runs-on: ubuntu-latest | |
| # Run on main repository or for trusted bot PRs | |
| if: ${{ github.repository == 'mastra-ai/mastra' && !contains(github.event.pull_request.files.*.path, 'examples/') && !contains(github.event.pull_request.files.*.path, 'docs/') && !contains(github.event.pull_request.files.*.path, '.changeset/') && !contains(github.event.pull_request.files.*.path, 'generated-changesets/') }} | |
| env: | |
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
| TURBO_TEAM: ${{ secrets.TURBO_TEAM }} | |
| TURBO_CACHE: remote:r | |
| permissions: | |
| pull-requests: read | |
| needs: prebuild | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v5 | |
| - name: Setup pnpm and Node.js | |
| uses: ./.github/actions/setup-pnpm-node | |
| - name: Build | |
| run: pnpm turbo --filter "!./examples/**/*" --filter "!./docs/" build | |
| - name: Install test dependencies | |
| working-directory: ./e2e-tests/pkg-outputs | |
| run: pnpm install --ignore-workspace | |
| - name: Check bundles | |
| working-directory: ./e2e-tests/pkg-outputs | |
| run: pnpm test | |
| validator: | |
| name: Validate examples packages.json | |
| runs-on: ubuntu-latest | |
| # Run on main repository or for trusted bot PRs | |
| if: ${{ github.repository == 'mastra-ai/mastra' && !contains(github.event.pull_request.files.*.path, 'examples/') && !contains(github.event.pull_request.files.*.path, 'docs/') && !contains(github.event.pull_request.files.*.path, '.changeset/') && !contains(github.event.pull_request.files.*.path, 'generated-changesets/') }} | |
| permissions: | |
| pull-requests: read | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v5 | |
| - name: Setup pnpm and Node.js | |
| uses: ./.github/actions/setup-pnpm-node | |
| with: | |
| package-manager-cache: false | |
| install-dependencies: false | |
| - name: Install dependencies | |
| run: pnpm add -w --no-lockfile globby | |
| - name: Run examples validator | |
| run: node .github/scripts/validate-examples.js | |
| peerdeps-check: | |
| name: Validate peer dependencies | |
| runs-on: ubuntu-latest | |
| # Run on main repository or for trusted bot PRs | |
| if: ${{ github.repository == 'mastra-ai/mastra' }} | |
| permissions: | |
| pull-requests: read | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v5 | |
| with: | |
| # Fetch entire git history so Changesets can generate changelogs | |
| # with the correct commits | |
| fetch-depth: 0 | |
| - name: Setup pnpm and Node.js | |
| uses: ./.github/actions/setup-pnpm-node | |
| with: | |
| package-manager-cache: false | |
| install-dependencies: false | |
| - name: Install dependencies | |
| run: pnpm add -w --no-lockfile semver | |
| - name: bump versions | |
| run: npx changeset version | |
| - name: Configure git | |
| run: | | |
| git config --local user.email "action@github.com" | |
| git config --local user.name "GitHub Action" | |
| - name: Commit changes | |
| run: git commit -am "Bump versions" || true | |
| - name: Run peerdeps validator | |
| run: node ./scripts/validate-peerdeps.mjs | |
| - name: Check for git changes | |
| run: | | |
| if ! git diff --quiet --ignore-space-at-eol -- ':!package.json' || ! git diff --cached --quiet --ignore-space-at-eol -- ':!package.json'; then | |
| echo "Error: Peerdependency mismatch" | |
| echo "The following files have been modified:" | |
| git diff --name-only -- ':!package.json' | |
| exit 1 | |
| fi | |
| validate-pkg-json: | |
| name: Validate package.json files | |
| runs-on: ubuntu-latest | |
| # Run on main repository or for trusted bot PRs | |
| if: ${{ github.repository == 'mastra-ai/mastra' && !contains(github.event.pull_request.files.*.path, 'examples/') && !contains(github.event.pull_request.files.*.path, 'docs/') && !contains(github.event.pull_request.files.*.path, '.changeset/') && !contains(github.event.pull_request.files.*.path, 'generated-changesets/') }} | |
| permissions: | |
| pull-requests: read | |
| steps: | |
| - name: Checkout repo | |
| uses: actions/checkout@v5 | |
| - name: Setup Node.js 22.x | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: 22.13.0 | |
| package-manager-cache: false | |
| - name: Run package.json validator | |
| run: node .github/scripts/validate-pkg-json.mjs |