Sync eng/common directory with azure-sdk-tools for PR 14420#48401
Sync eng/common directory with azure-sdk-tools for PR 14420#48401
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new benchmark-job.yml Azure Pipelines job template under eng/common as part of syncing eng/common with azure-sdk-tools PR 14420.
Changes:
- Introduces a
Run_Benchmarkjob template that performs a sparse checkout and runs a .NET benchmark project viadotnet run. - Adds parameters to select benchmark scenarios by name/tags and control parallelism and model selection.
| variables: | ||
| - template: /eng/pipelines/templates/variables/globals.yml | ||
| - template: /eng/pipelines/templates/variables/image.yml | ||
| - group: 'AzSDK_Eval_Variable_group' |
There was a problem hiding this comment.
This template hard-codes a dependency on the Azure DevOps variable group AzSDK_Eval_Variable_group. That makes the job template non-portable and will fail in pipelines/projects where this group isn’t defined. Consider removing the variable group from the template and instead passing any required values in as parameters (or documenting that the consuming pipeline must include the group explicitly).
| DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 | ||
| DOTNET_CLI_TELEMETRY_OPTOUT: 1 | ||
| DOTNET_MULTILEVEL_LOOKUP: 0 | ||
| COPILOT_GITHUB_TOKEN: $(azuresdk-copilot-github-pat) |
There was a problem hiding this comment.
COPILOT_GITHUB_TOKEN is set from a specific secret variable name $(azuresdk-copilot-github-pat), but the template doesn’t define/require it as a parameter. This creates a hidden prerequisite and can break consumers that don’t have that variable configured. Prefer making the token an explicit (secret) parameter and only setting COPILOT_GITHUB_TOKEN when it’s non-empty.
| default: ' ' | ||
| - name: Tags | ||
| type: string | ||
| default: ' ' | ||
| - name: Model | ||
| type: string | ||
| default: ' ' |
There was a problem hiding this comment.
These parameters default to a single space (' ') and then rely on .Trim() in the script. Using an empty string default ('') avoids surprising whitespace behavior and removes the need for trimming to detect “unset” values (same applies to Tags/Model).
| default: ' ' | |
| - name: Tags | |
| type: string | |
| default: ' ' | |
| - name: Model | |
| type: string | |
| default: ' ' | |
| default: '' | |
| - name: Tags | |
| type: string | |
| default: '' | |
| - name: Model | |
| type: string | |
| default: '' |
Sync eng/common directory with azure-sdk-tools for PR Azure/azure-sdk-tools#14420 See eng/common workflow