Skip to content

fix: keep beta prebuilt auth migrations on the right database #12548

fix: keep beta prebuilt auth migrations on the right database

fix: keep beta prebuilt auth migrations on the right database #12548

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