| 26 | /// Arguments shared between run and exec commands |
| 27 | #[derive(Args, Debug, Clone)] |
| 28 | pub struct ExecAndRunSharedArgs { |
| 29 | /// The upload URL to use for uploading the results, useful for on-premises installations |
| 30 | #[arg(long, env = "CODSPEED_UPLOAD_URL")] |
| 31 | pub upload_url: Option<String>, |
| 32 | |
| 33 | /// The token to use for uploading the results, |
| 34 | /// |
| 35 | /// It can be either a CodSpeed token retrieved from the repository setting |
| 36 | /// or an OIDC token issued by the identity provider. |
| 37 | #[arg(long, env = "CODSPEED_TOKEN")] |
| 38 | pub token: Option<String>, |
| 39 | |
| 40 | /// The repository the benchmark is associated with, under the format `owner/repo`. |
| 41 | #[arg(short, long, env = "CODSPEED_REPOSITORY")] |
| 42 | pub repository: Option<String>, |
| 43 | |
| 44 | /// The repository provider to use in case --repository is used. Defaults to github |
| 45 | #[arg( |
| 46 | long, |
| 47 | env = "CODSPEED_PROVIDER", |
| 48 | requires = "repository", |
| 49 | ignore_case = true |
| 50 | )] |
| 51 | pub provider: Option<RepositoryProvider>, |
| 52 | |
| 53 | /// The directory where the command will be executed. |
| 54 | #[arg(long)] |
| 55 | pub working_directory: Option<String>, |
| 56 | |
| 57 | /// The mode to run the benchmarks in. |
| 58 | /// If not provided, the mode will be loaded from the shell session (set via `codspeed use <mode>`). |
| 59 | #[arg( |
| 60 | short, |
| 61 | long, |
| 62 | value_enum, |
| 63 | env = "CODSPEED_RUNNER_MODE", |
| 64 | value_delimiter = ',' |
| 65 | )] |
| 66 | pub mode: Vec<RunnerMode>, |
| 67 | |
| 68 | /// The Valgrind simulation tool to use (callgrind or tracegrind). |
| 69 | #[arg(long, value_enum, env = "CODSPEED_SIMULATION_TOOL", hide = true)] |
| 70 | pub simulation_tool: Option<SimulationTool>, |
| 71 | |
| 72 | /// The profiler to use for walltime mode (perf or samply). |
| 73 | /// If not provided, the profiler is selected based on the platform. |
| 74 | #[arg(long, value_enum, env = "CODSPEED_WALLTIME_PROFILER", hide = true)] |
| 75 | pub walltime_profiler: Option<WalltimeProfiler>, |
| 76 | |
| 77 | /// Profile folder to use for the run. |
| 78 | #[arg(long)] |
| 79 | pub profile_folder: Option<PathBuf>, |
| 80 | |
| 81 | /// Only for debugging purposes, skips the upload of the results |
| 82 | #[arg( |
| 83 | long, |
| 84 | default_value = "false", |
| 85 | hide = true, |
nothing calls this directly
no outgoing calls
no test coverage detected