Repository navigation
ci: run Playwright against the latest Cloud release and its AI image - #664
Merged
Merged
Conversation
AI chat specs fail with Cloud reporting only "AI service is temporarily unavailable" because http://ai:5001 is unreachable; the AI container has already exited, but its logs were never collected. Save them, plus the container exit states, before the stack is torn down. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Cloud-Premium #1441 moved the AI service into Cloud, and from Cloud 0.20.1 the published appflowy_ai_premium:latest-amd64 expects Cloud's shared migrations to have created its schema. CI pins Cloud to a pre-#1441 revision, so the new AI image exits with "AI database schema is missing (af_ai_registry_bootstrap_state)", Cloud rejects AI chat creation as "AI service is temporarily unavailable", and every AI chat spec fails. Pin the last standalone AI release (0.13.5), which applies its own migrations, until CLOUD_REVISION moves past #1441. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThe workflow now uses the last standalone AI release instead of a floating image that is incompatible with the pinned pre-migration Cloud revision, preventing AI service crash loops. Failure handling also records container state and AI-specific logs so schema or startup errors are visible during review. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Cloud-Premium #1441 moved the AI service into Cloud, which now owns the AI schema, so the AI image must come from the same revision as Cloud. Move the backend from the custom ci-web-row-list-9563cf767ef1 build to the 0.20.2 release, take the AI image from CLOUD_VERSION instead of a separate tag, and verify its revision with the other Rust images. 0.20.2 includes atomic row creation (Cloud-Premium #1375); the List field-order repair (#1372) that the custom build carried is not released. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With Cloud 0.20.2's larger seeded workspace, "Database 1 (Copy)" is appended below the visible sidebar, so the spec's forced click landed on the sidebar footer's Trash button instead. Use openCopiedPage, which falls back to the copy's own route when the sidebar click misses. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pull latest-amd64 for Cloud, Worker, Search and AI, and resolve the source revision behind that tag at the start of each test job, so the Cloud-Premium checkout (compose files, deploy.env, seed snapshot) always matches the images. The image-revision check still rejects a mixed set, for example while a release is being published. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every AI chat Playwright spec has failed since 2026-10-22 ~15:00 UTC:
auth-chat(chat specs),page(document-sidebar-refresh"creating AI chat", e.g. #663's job) andaccount-space-user(ai-enabled-flag).Cause
appflowyinc/appflowy_ai_premium:latest-amd64is built from Cloud-Premium.ci-web-row-list-9563cf767ef1but pulled AI aslatest-amd64. The new AI crash-looped (Restarting (1)):Connect … http://ai:5001/health→ "AI service is temporarily unavailable"), soai-chat-containernever rendered.Changes
latest-amd64, and no version is written into the workflow. Each test job reads the source revision behindappflowy_cloud_premium:latest-amd64(Resolve latest Cloud release) and checks out Cloud-Premium at that revision, so compose files,deploy.envand the seed snapshot match the images. The image-revision check now covers AI too and fails clearly iflatestis mixed, for example while a release is still publishing. Today this resolves to 0.20.2 (54fe4d0a42c5).aicontainer's logs (test-results/ai-service.log, with the last 80 lines in the job log) anddocker compose ps -a. The error above came from this diagnostics step.database-duplicate-cloud: the newer seed snapshot appendsDatabase 1 (Copy)below the visible sidebar, where the spec's forced click hit the footer's Trash button. The spec now opens the copy withopenCopiedPage, which falls back to the copy's route.Known failure until the next Cloud release
list-view-live-flutter-parity› "List Properties shows every supported field type" needs Cloud-Premium #1372 (new List views pick visible fields in stored field order). The old custom build carried it, but no release does yet. Once #1372 ships, this workflow picks it up without changes here.The same commits are on #661.
🤖 Generated with Claude Code