Skip to content

Commit 9b2aadb

Browse files
authored
Use pre steps to determine whether to record live tests (Azure#17063)
* Use pre steps to determine record * Add TestMode setting * Simplify live test post steps to use TestMode for recording condition
1 parent b01aa8f commit 9b2aadb

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

eng/pipelines/templates/jobs/archetype-sdk-tests-jobs.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ jobs:
4242
maxParallel: ${{ parameters.MaxParallel }}
4343
matrix: ${{ parameters.Platforms }}
4444

45-
condition: and(succeededOrFailed(), eq(eq(variables['Record'], 'true'), eq('$(TestMode)', 'Record')))
4645
variables:
4746
- template: ../variables/globals.yml
4847
# ServiceDirectory references must get passed down by the caller as variable references
@@ -52,6 +51,8 @@ jobs:
5251
value: ''
5352
- name: ArmTemplateParameters
5453
value: '@{}'
54+
- name: TestMode
55+
value: 'None'
5556

5657
timeoutInMinutes: ${{ parameters.TimeoutInMinutes }}
5758

@@ -77,6 +78,13 @@ jobs:
7778
SubscriptionConfiguration: ${{ parameters.CloudConfig.SubscriptionConfiguration }}
7879
ArmTemplateParameters: $(ArmTemplateParameters)
7980

81+
- pwsh: |
82+
if ($env:SupportsRecording -and $env:Record) {
83+
Write-Host "Enabling Record mode"
84+
Write-Host "##vso[task.setvariable variable=TestMode]Record"
85+
}
86+
displayName: Set Test Mode
87+
8088
- pwsh: >
8189
dotnet test eng/service.proj
8290
--framework $(TestTargetFramework)
@@ -93,7 +101,7 @@ jobs:
93101
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
94102
DOTNET_CLI_TELEMETRY_OPTOUT: 1
95103
DOTNET_MULTILEVEL_LOOKUP: 0
96-
AZURE_TEST_MODE: "${{ coalesce(variables['TestMode'], 'None') }}"
104+
AZURE_TEST_MODE: $(TestMode)
97105
${{ each var in parameters.EnvVars }}:
98106
${{ var.key }}: ${{ var.value }}
99107

eng/pipelines/templates/stages/archetype-sdk-tests.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ parameters:
5858
Windows_NetCore:
5959
OSVmImage: "windows-2019"
6060
TestTargetFramework: netcoreapp2.1
61+
SupportsRecording: true
6162
Windows_NetCore_ProjectRefAzureClients:
6263
OSVmImage: "windows-2019"
6364
TestTargetFramework: netcoreapp2.1
@@ -73,11 +74,6 @@ parameters:
7374
OSVmImage: "macOS-10.15"
7475
TestTargetFramework: netcoreapp2.1
7576
SupportedClouds: 'Public'
76-
Windows_NetCore_Record:
77-
OSVmImage: "windows-2019"
78-
TestMode: Record
79-
TestTargetFramework: netcoreapp2.1
80-
SupportedClouds: 'Public'
8177
- name: PlatformPreSteps
8278
type: object
8379
default:
@@ -86,7 +82,7 @@ parameters:
8682
type: object
8783
default:
8884
- task: CopyFiles@2
89-
condition: and(succeededOrFailed(), eq(variables['Agent.JobName'], 'Windows_NetCore_Record'))
85+
condition: and(succeededOrFailed(), eq(variables.TestMode, 'Record'))
9086
displayName: "Copy Test Recordings"
9187
inputs:
9288
sourceFolder: '$(Build.SourcesDirectory)'
@@ -95,7 +91,7 @@ parameters:
9591
contents: 'sdk/$(ServiceDirectory)/**/SessionRecords/**/*.json'
9692
targetFolder: '$(Build.ArtifactStagingDirectory)/SessionRecords'
9793
- task: PublishBuildArtifacts@1
98-
condition: and(succeededOrFailed(), eq(variables['Agent.JobName'], 'Windows_NetCore_Record'))
94+
condition: and(succeededOrFailed(), eq(variables.TestMode, 'Record'))
9995
displayName: "Publish Test Recordings"
10096
inputs:
10197
pathToPublish: '$(Build.ArtifactStagingDirectory)/SessionRecords'

0 commit comments

Comments
 (0)