ci(framework:skip): Fix ServerApp heartbeat CI#7199
Conversation
There was a problem hiding this comment.
Pull request overview
This PR stabilizes the ServerApp heartbeat e2e test by allowing the simulation runtime’s surviving run to either complete or be finalized as failed after a SuperLink restart, while keeping deployment runtime expectations strict.
Changes:
- Added reusable expected status strings for completed and failed runs.
- Relaxed the second run assertion only for simulation mode.
- Switched status lookups to
.get()for consistency and safer polling.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0f3c31dc87
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Pull request was closed
Summary
Make the ServerApp heartbeat e2e assertion tolerate the simulation runtime's timing-dependent survivor result after a SuperLink restart, while keeping the deployment runtime assertion strict.
Why
This isolates the heartbeat CI stabilization from PR #6693. In CI, the killed simulation run consistently failed as expected, but the surviving simulation run could either complete after reconnecting or be finalized by heartbeat timeout.
The simulation fallback now requires a distinguishable survivor checkpoint: if the survivor later fails, the test only accepts that after observing the killed run failed while the survivor was still non-failed. This keeps the test from passing a regression that marks every in-flight run failed at once.
Validation
uv run --no-sync --python=3.10.19 python -m py_compile e2e/test_serverapp_heartbeat.py