fix: complete live visual editing interactions #12561
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: Chat template E2E | |
| on: | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| concurrency: | |
| group: chat-template-e2e-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| change-scope: | |
| name: Determine AgentKit acceptance scope | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| outputs: | |
| agentkit_acceptance: ${{ steps.scope.outputs.agentkit_acceptance }} | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| with: | |
| fetch-depth: 0 | |
| filter: blob:none | |
| - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 | |
| with: | |
| node-version: "22" | |
| - name: Test change scope classifier | |
| run: node --experimental-strip-types --test scripts/ci-change-scope.test.ts | |
| - name: Classify changed paths | |
| id: scope | |
| env: | |
| CI_BASE_SHA: ${{ github.event.pull_request.base.sha || github.sha }} | |
| CI_HEAD_SHA: ${{ github.event.pull_request.head.sha || github.sha }} | |
| run: node --experimental-strip-types scripts/ci-change-scope.ts | |
| standalone-chat: | |
| name: Generate + run standalone Chat | |
| needs: change-scope | |
| if: always() | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 35 | |
| env: | |
| AGENT_NATIVE_CREATE_USE_LOCAL_CORE: "1" | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| - name: Validate AgentKit acceptance selection | |
| env: | |
| AGENTKIT_ACCEPTANCE: ${{ needs.change-scope.outputs.agentkit_acceptance }} | |
| run: | | |
| case "$AGENTKIT_ACCEPTANCE" in | |
| true|false) ;; | |
| *) | |
| echo "::error::AgentKit acceptance selection is missing or invalid: '$AGENTKIT_ACCEPTANCE'" | |
| exit 1 | |
| ;; | |
| esac | |
| - name: Record selective acceptance skip | |
| if: needs.change-scope.outputs.agentkit_acceptance == 'false' | |
| run: echo "Standalone AgentKit Chat acceptance is not required for this change set." | |
| - name: Free disk for generated app and browser | |
| if: needs.change-scope.outputs.agentkit_acceptance == 'true' | |
| run: | | |
| df -h | |
| sudo rm -rf \ | |
| /opt/ghc \ | |
| /opt/hostedtoolcache/CodeQL \ | |
| /usr/local/.ghcup \ | |
| /usr/local/lib/android \ | |
| /usr/local/share/boost \ | |
| /usr/share/dotnet \ | |
| /usr/share/swift \ | |
| ~/.cache/ms-playwright | |
| docker system prune -af || true | |
| sudo apt-get clean | |
| df -h | |
| # postinstall rebuilds any stale/missing dists, including the local CLI | |
| # used by qa:standalone-chat-dev. | |
| - uses: ./.github/actions/setup-pnpm | |
| if: needs.change-scope.outputs.agentkit_acceptance == 'true' | |
| with: | |
| restore-dist-cache: "true" | |
| - name: Restore Playwright browser cache | |
| if: needs.change-scope.outputs.agentkit_acceptance == 'true' | |
| uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: ~/.cache/ms-playwright | |
| key: playwright-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }} | |
| restore-keys: playwright-${{ runner.os }}- | |
| - name: Install Playwright Chromium | |
| if: needs.change-scope.outputs.agentkit_acceptance == 'true' | |
| run: pnpm exec playwright install --only-shell chromium | |
| - name: Pack and launch an isolated AgentKit consumer | |
| if: needs.change-scope.outputs.agentkit_acceptance == 'true' | |
| run: pnpm qa:agentkit-packages | |
| - name: Generate, install, and exercise standalone AgentKit Chat | |
| if: needs.change-scope.outputs.agentkit_acceptance == 'true' | |
| # Covers the public Chat CLI path, the complete local AgentKit package | |
| # graph, Vite dev SSR, and the browser interaction lifecycle. | |
| run: pnpm qa:agentkit-chat-acceptance | |
| - name: Cross-surface sign-in matrix | |
| if: needs.change-scope.outputs.agentkit_acceptance == 'true' | |
| # Boots the Chat template at the root base path and again under | |
| # /chatapp, and drives the real login document. A matrix nobody runs | |
| # stops nothing — the request-level half of this matrix ships as a | |
| # vitest spec, but the browser half only exists if it runs here. | |
| run: pnpm qa:sign-in |