Skip to content

Improved E2E readiness checks#28455

Merged
9larsons merged 1 commit into
mainfrom
codex/e2e-host-readiness
Jun 9, 2026
Merged

Improved E2E readiness checks#28455
9larsons merged 1 commit into
mainfrom
codex/e2e-host-readiness

Conversation

@9larsons

@9larsons 9larsons commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • wait for Ghost through the host gateway Admin API setup endpoint instead of Docker health
  • validate the setup response shape so readiness proves gateway routing, Admin API, serializer, and DB access
  • keep Docker unhealthy/stopped checks as diagnostics while polling host readiness every 250ms

Validation

  • pnpm --filter @tryghost/e2e test:types
  • pnpm --filter @tryghost/e2e exec eslint helpers/environment/service-managers/ghost-manager.ts
  • git diff --check

Local research signal

  • 8-test CI-shaped slice: 79.50s -> 41.16s
  • 31-test CI-shaped slice: 118.83s -> 77.69s with readiness alone

no ref

E2E tests use Ghost through the host gateway, but readiness previously waited for Docker health to report healthy inside the Ghost container.

This waits for the gateway Admin API setup endpoint to return a valid setup response, keeping Docker health as a failure diagnostic while removing the extra healthcheck tail measured in CI-shaped runs.
@coderabbitai

coderabbitai Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

Pull request was closed or merged during review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: c6892afa-1f2e-497c-acbf-d022098da751

📥 Commits

Reviewing files that changed from the base of the PR and between e58ccf9 and d819673.

📒 Files selected for processing (1)
  • e2e/helpers/environment/service-managers/ghost-manager.ts

Walkthrough

This PR updates Ghost E2E test container readiness detection by replacing Docker healthcheck polling with HTTP endpoint probing. A new polling interval constant is added, and GhostManager.waitForReady() now calls waitForHostReadiness() instead of waitForHealthy(). Two new helper functions—waitForHostReadiness() and probeHostReadiness()—implement the new strategy: repeatedly polling the Ghost admin setup endpoint through the gateway with timeout bounds and abort controls, validating the response setup state, and logging debug information on success or failure.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Improved E2E readiness checks' accurately reflects the main change: enhancing readiness detection in E2E tests by switching from Docker health checks to host gateway polling.
Description check ✅ Passed The description provides clear context about the changeset: replacing Docker health checks with host gateway polling, validating setup response shape, and including performance improvements and validation steps.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/e2e-host-readiness

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@9larsons 9larsons marked this pull request as ready for review June 9, 2026 21:11
@9larsons 9larsons merged commit e36ba53 into main Jun 9, 2026
41 of 42 checks passed
@9larsons 9larsons deleted the codex/e2e-host-readiness branch June 9, 2026 21:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant