Allow multiple runner modes in a single codspeed cli run#259
Merged
GuillaumeLagrange merged 4 commits intomainfrom Mar 6, 2026
Merged
Conversation
db0e697 to
b50b7fe
Compare
93e2f15 to
6bc3257
Compare
This avoids triggering an error if the repository is not enabled
6bc3257 to
250c25d
Compare
Merge the two separate `poll_results` implementations from `cli/exec` and `cli/run` into a single `upload::poll_results` function controlled by `PollResultsOptions`. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
37e4c22 to
c0bd650
Compare
not-matthias
reviewed
Mar 5, 2026
c0bd650 to
28538b2
Compare
Add a `local_data` field to `RunEnvironmentMetadata` to carry local-run specific information (expected run parts count). Also populate `run_part` for local runs with a stable run_id and per-executor run_part_id. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
28538b2 to
c6bd1f1
Compare
adriencaccia
approved these changes
Mar 5, 2026
adriencaccia
reviewed
Mar 5, 2026
72e3286 to
16a85cd
Compare
Add an Orchestrator struct that owns the shared run-time state (provider, system_info, logger) and drives the full execution lifecycle: setup → run all modes → upload all results → poll. This replaces the monolithic ExecutionContext with a leaner per-mode context, and wires up the mode/shell-session APIs to accept Vec<RunnerMode> so that multiple modes can be requested in a single CLI invocation. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
16a85cd to
79ac610
Compare
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.
Summary
poll_resultsintouploadmodule: merged the two separatepoll_resultsimplementations fromcli/execandcli/runinto a singleupload::poll_resultsfunction driven byPollResultsOptionslocal_datato upload metadata: newLocalDatastruct carryingexpected_run_parts_count; local runs now provide a stablerun_idand a per-executorrun_part_idin the upload metadataOrchestratorfor multi-mode execution: newOrchestratorstruct owns shared state (provider, system_info, logger) and drives the full lifecycle — setup → run all modes in sequence (each with its own profile folder) → upload all results → poll;modeCLI arg and shell session now acceptVec<RunnerMode>(comma-separated or space-separated)Test plan
cargo testpassescodspeed run --mode simulation cargo benchstill works as beforecodspeed run --mode simulation,walltime cargo benchruns both modes and uploads two run parts