Skip to content

feat(playground-ui): add processor combobox for breadcrumb navigation #35985

feat(playground-ui): add processor combobox for breadcrumb navigation

feat(playground-ui): add processor combobox for breadcrumb navigation #35985

Workflow file for this run

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