Skip to content

feat(framework): Allow ServerAppExecPlugin to support both flwr-serverapp and flwr-simulation#6806

Merged
danieljanes merged 10 commits intomainfrom
feat/one-plugin-two-cmds
Mar 24, 2026
Merged

feat(framework): Allow ServerAppExecPlugin to support both flwr-serverapp and flwr-simulation#6806
danieljanes merged 10 commits intomainfrom
feat/one-plugin-two-cmds

Conversation

@panh99
Copy link
Member

@panh99 panh99 commented Mar 20, 2026

Last missing piece to make one SuperLink support both runtimes.

Copilot AI review requested due to automatic review settings March 20, 2026 15:38
@github-actions github-actions bot added the Maintainer Used to determine what PRs (mainly) come from Flower maintainers. label Mar 20, 2026
Copy link
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 consolidates SuperExec support so a single ServerAppExecPlugin can launch either flwr-serverapp or flwr-simulation based on a run’s run_type, enabling one SuperLink to support both runtimes.

Changes:

  • Remove SimulationExecPlugin and route simulation launches through ServerAppExecPlugin.
  • Update flower-superexec wiring and ExecPluginType to drop the dedicated simulation plugin type.
  • Adjust simulation/server entrypoints and tests to use the unified plugin approach.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
framework/py/flwr/supercore/superexec/plugin/simulation_exec_plugin.py Removes the dedicated simulation exec plugin.
framework/py/flwr/supercore/superexec/plugin/serverapp_exec_plugin.py Adds run-type-based selection of flwr-serverapp vs flwr-simulation.
framework/py/flwr/supercore/superexec/plugin/base_exec_plugin_test.py Updates test run fixture to include run_type.
framework/py/flwr/supercore/superexec/plugin/init.py Stops exporting SimulationExecPlugin.
framework/py/flwr/supercore/cli/flower_superexec.py Removes simulation plugin type mapping.
framework/py/flwr/simulation/app.py Uses ServerAppExecPlugin and serverapp plugin type for the deprecation path.
framework/py/flwr/server/app.py Always starts flower-superexec with --plugin-type serverapp.
framework/py/flwr/common/constant.py Removes ExecPluginType.SIMULATION.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@panh99 panh99 requested a review from jafermarq as a code owner March 24, 2026 10:29
@danieljanes danieljanes enabled auto-merge (squash) March 24, 2026 11:53
@danieljanes danieljanes merged commit 4d8f8da into main Mar 24, 2026
69 of 70 checks passed
@danieljanes danieljanes deleted the feat/one-plugin-two-cmds branch March 24, 2026 12:09
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. One SuperLink Two Runtimes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants