Skip to content

ci(framework:skip): Fix ServerApp heartbeat CI#7199

Closed
tanertopal wants to merge 4 commits into
mainfrom
ci/fix-serverapp-heartbeat-ci
Closed

ci(framework:skip): Fix ServerApp heartbeat CI#7199
tanertopal wants to merge 4 commits into
mainfrom
ci/fix-serverapp-heartbeat-ci

Conversation

@tanertopal
Copy link
Copy Markdown
Member

@tanertopal tanertopal commented May 19, 2026

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
  • The same fix made both ServerApp heartbeat matrix jobs pass on PR ci(*:skip): Migrate CI to uv #6693 before splitting it out.

Copilot AI review requested due to automatic review settings May 19, 2026 09:44
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@tanertopal tanertopal marked this pull request as ready for review May 19, 2026 10:03
@tanertopal tanertopal enabled auto-merge (squash) May 19, 2026 10:03
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread framework/e2e/test_serverapp_heartbeat.py Outdated
@github-actions github-actions Bot added the Maintainer Used to determine what PRs (mainly) come from Flower maintainers. label May 19, 2026
@tanertopal tanertopal closed this May 21, 2026
auto-merge was automatically disabled May 21, 2026 07:14

Pull request was closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Maintainer Used to determine what PRs (mainly) come from Flower maintainers.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants