From c8d79610e0204aeb31e13d94593a9c37cf8181ee Mon Sep 17 00:00:00 2001 From: George Arama <50641385+gearama@users.noreply.github.com> Date: Mon, 26 Sep 2022 10:34:11 -0700 Subject: [PATCH] Pipeline core (#3953) * test1 * glob * quick cleanup * ddasda * ddsa * envs * dsds * Revert "ddsa" This reverts commit 6d9e385284ba37736fb5bc41e56065943abd7937. * wq * comment out issues * valid test * maybe * qwewqewq * lang steps * Vcpkg pre-steps in the place Daniel should've recommend they go * RepoOwner * Correct repo owner name * Remove vcpkg.yml (we don't need to write) * PR trigger * small change * Update eng/pipelines/templates/jobs/perf.yml Co-authored-by: Mike Harder * Update eng/pipelines/templates/jobs/perf.yml Co-authored-by: Mike Harder * Update sdk/core/perf.yml Co-authored-by: Mike Harder Co-authored-by: Daniel Jurek Co-authored-by: Mike Harder --- eng/pipelines/templates/jobs/perf.yml | 44 +++++++++++++++++++ eng/pipelines/templates/variables/globals.yml | 22 ++++++++++ sdk/core/perf.yml | 32 ++++++++++++++ 3 files changed, 98 insertions(+) create mode 100644 eng/pipelines/templates/jobs/perf.yml create mode 100644 eng/pipelines/templates/variables/globals.yml create mode 100644 sdk/core/perf.yml diff --git a/eng/pipelines/templates/jobs/perf.yml b/eng/pipelines/templates/jobs/perf.yml new file mode 100644 index 000000000..4e1d32844 --- /dev/null +++ b/eng/pipelines/templates/jobs/perf.yml @@ -0,0 +1,44 @@ +parameters: +- name: ServiceDirectory + type: string + default: '' +- name: Services + type: string + default: '' +- name: PackageVersions + type: string + default: '.*' +- name: Tests + type: string + default: '.*' +- name: Arguments + type: string + default: '.*' +- name: Iterations + type: number + default: '5' +- name: AdditionalArguments + type: string + default: '' +- name: EnvVars + type: object + default: [] + +extends: + template: /eng/common/pipelines/templates/jobs/perf.yml + parameters: + Variables: + - template: /eng/pipelines/templates/variables/globals.yml + Language: Cpp + ServiceDirectory: ${{ parameters.ServiceDirectory }} + Services: ${{ parameters.Services }} + PackageVersions: ${{ parameters.PackageVersions }} + Tests: ${{ parameters.Tests }} + Arguments: ${{ parameters.Arguments }} + Iterations: ${{ parameters.Iterations }} + AdditionalArguments: ${{ parameters.AdditionalArguments }} + EnvVars: ${{ parameters.EnvVars}} + InstallLanguageSteps: + - template: /eng/pipelines/templates/steps/vcpkg-clone.yml + parameters: + RepoOwner: Microsoft diff --git a/eng/pipelines/templates/variables/globals.yml b/eng/pipelines/templates/variables/globals.yml new file mode 100644 index 000000000..b782b8823 --- /dev/null +++ b/eng/pipelines/templates/variables/globals.yml @@ -0,0 +1,22 @@ +variables: + # True if 'Enable system diagnostics' is checked when running a pipeline manually + IsDebug: $[coalesce(variables['System.Debug'], 'false')] + + AdditionalOptions: '' + + # Exists if needed in coalesce situations. + DefaultTestGoals: 'surefire:test' + # This will be overwritten by the test matrix, if configured. + TestGoals: $(DefaultTestGoals) + + # This will be overwritten by the test matrix, if configured. + TestOptions: '' + # TestFromSource is one of the cache keys but isn't set until the test matrix + # has been processed. Without a default value it'll be treated as a string literal + # "$(TestFromSource)" instead of true/false. It'll be overwritten when the test + # matrix has been processed + TestFromSource: false + + skipComponentGovernanceDetection: true + DisableDockerDetector: true + Package.EnableSBOMSigning: true diff --git a/sdk/core/perf.yml b/sdk/core/perf.yml new file mode 100644 index 000000000..a8494272b --- /dev/null +++ b/sdk/core/perf.yml @@ -0,0 +1,32 @@ +parameters: +- name: PackageVersions + displayName: PackageVersions (regex of package versions to run) + type: string + default: 'source' +- name: Tests + displayName: Tests (regex of tests to run) + type: string + default: '^(extendedOptions)$' +- name: Arguments + displayName: Arguments (regex of arguments to run) + type: string + default: '.*' +- name: Iterations + displayName: Iterations (times to run each test) + type: number + default: '5' +- name: AdditionalArguments + displayName: AdditionalArguments (passed to PerfAutomation) + type: string + default: ' ' + +extends: + template: /eng/pipelines/templates/jobs/perf.yml + parameters: + ServiceDirectory: core + Services: "^core$" + PackageVersions: ${{ parameters.PackageVersions }} + Tests: ${{ parameters.Tests }} + Arguments: ${{ parameters.Arguments }} + Iterations: ${{ parameters.Iterations }} + AdditionalArguments: ${{ parameters.AdditionalArguments }}