Skip to content

Commit f879d67

Browse files
committed
bring updated files in from 'main'. need to swap to 1es-publish-artifact + the new archetype-tests-generate, but that's coming after merging main into 1es-template-conversion
1 parent c8ecff2 commit f879d67

File tree

4 files changed

+63
-79
lines changed

4 files changed

+63
-79
lines changed

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

Lines changed: 47 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ parameters:
3131
- name: OsVmImage
3232
type: string
3333
default: ubuntu-22.04
34-
- name: Os
35-
type: string
36-
default: linux
3734
# This parameter is only necessary if there are multiple invocations of this template within the SAME STAGE.
3835
# When that occurs, provide a name other than the default value.
3936
- name: GenerateJobName
@@ -42,31 +39,15 @@ parameters:
4239
- name: PreGenerationSteps
4340
type: stepList
4441
default: []
45-
# Mappings to OS name required at template compile time by 1es pipeline templates
46-
- name: Pools
47-
type: object
48-
default:
49-
- name: LinuxPool
50-
os: linux
51-
- name: LinuxNextPool
52-
os: linux
53-
- name: WindowsPool
54-
os: windows
55-
- name: MacPool
56-
os: macOS
5742

5843
jobs:
5944
- job: ${{ parameters.GenerateJobName }}
6045
variables:
61-
- template: /eng/pipelines/templates/variables/image.yml
62-
- name: skipComponentGovernanceDetection
63-
value: true
64-
- name: displayNameFilter
65-
value: $[ coalesce(variables.jobMatrixFilter, '.*') ]
46+
skipComponentGovernanceDetection: true
47+
displayNameFilter: $[ coalesce(variables.jobMatrixFilter, '.*') ]
6648
pool:
6749
name: ${{ parameters.Pool }}
6850
vmImage: ${{ parameters.OsVmImage }}
69-
os: ${{ parameters.Os }}
7051
${{ if parameters.DependsOn }}:
7152
dependsOn: ${{ parameters.DependsOn }}
7253
steps:
@@ -84,56 +65,52 @@ jobs:
8465
- ${{ parameters.PreGenerationSteps }}
8566

8667
- ${{ each config in parameters.MatrixConfigs }}:
87-
- ${{ each pool in parameters.Pools }}:
88-
- ${{ if eq(config.GenerateVMJobs, 'true') }}:
89-
- task: Powershell@2
90-
inputs:
91-
pwsh: true
92-
filePath: eng/common/scripts/job-matrix/Create-JobMatrix.ps1
93-
arguments: >
94-
-ConfigPath ${{ config.Path }}
95-
-Selection ${{ config.Selection }}
96-
-DisplayNameFilter '$(displayNameFilter)'
97-
-Filters '${{ join(''',''', parameters.MatrixFilters) }}', 'container=^$', 'SupportedClouds=^$|${{ parameters.CloudConfig.Cloud }}', 'Pool=.*${{ pool.name }}$'
98-
-Replace '${{ join(''',''', parameters.MatrixReplace) }}'
99-
-NonSparseParameters '${{ join(''',''', config.NonSparseParameters) }}'
100-
displayName: Create ${{ pool.name }} Matrix ${{ config.Name }}
101-
name: vm_job_matrix_${{ config.Name }}_${{ pool.name }}
68+
- ${{ if eq(config.GenerateVMJobs, 'true') }}:
69+
- task: Powershell@2
70+
inputs:
71+
pwsh: true
72+
filePath: eng/common/scripts/job-matrix/Create-JobMatrix.ps1
73+
arguments: >
74+
-ConfigPath ${{ config.Path }}
75+
-Selection ${{ config.Selection }}
76+
-DisplayNameFilter '$(displayNameFilter)'
77+
-Filters '${{ join(''',''', parameters.MatrixFilters) }}','container=^$','SupportedClouds=^$|${{ parameters.CloudConfig.Cloud }}'
78+
-Replace '${{ join(''',''', parameters.MatrixReplace) }}'
79+
-NonSparseParameters '${{ join(''',''', config.NonSparseParameters) }}'
80+
displayName: Generate VM Job Matrix ${{ config.Name }}
81+
name: generate_vm_job_matrix_${{ config.Name }}
10282

103-
- ${{ if eq(config.GenerateContainerJobs, 'true') }}:
104-
- task: Powershell@2
105-
inputs:
106-
pwsh: true
107-
filePath: eng/common/scripts/job-matrix/Create-JobMatrix.ps1
108-
arguments: >
109-
-ConfigPath ${{ config.Path }}
110-
-Selection ${{ config.Selection }}
111-
-DisplayNameFilter '$(displayNameFilter)'
112-
-Filters '${{ join(''',''', parameters.MatrixFilters) }}', 'container=^$', 'SupportedClouds=^$|${{ parameters.CloudConfig.Cloud }}', 'Pool=.*${{ pool.name }}$'
113-
-NonSparseParameters '${{ join(''',''', config.NonSparseParameters) }}'
114-
displayName: Create ${{ pool.name }} Container Matrix ${{ config.Name }}
115-
name: container_job_matrix_${{ config.Name }}_${{ pool.name }}
83+
- ${{ if eq(config.GenerateContainerJobs, 'true') }}:
84+
- task: Powershell@2
85+
inputs:
86+
pwsh: true
87+
filePath: eng/common/scripts/job-matrix/Create-JobMatrix.ps1
88+
arguments: >
89+
-ConfigPath ${{ config.Path }}
90+
-Selection ${{ config.Selection }}
91+
-DisplayNameFilter '$(displayNameFilter)'
92+
-Filters '${{ join(''',''', parameters.MatrixFilters) }}', 'container=.*', 'SupportedClouds=^$|${{ parameters.CloudConfig.Cloud }}'
93+
-NonSparseParameters '${{ join(''',''', config.NonSparseParameters) }}'
94+
displayName: Generate Container Job Matrix
95+
name: generate_container_job_matrix_${{ config.Name }}
11696

11797
- ${{ each config in parameters.MatrixConfigs }}:
118-
- ${{ each pool in parameters.Pools }}:
119-
- ${{ if eq(config.GenerateVMJobs, 'true') }}:
120-
- template: ${{ parameters.JobTemplatePath }}
121-
parameters:
122-
UsePlatformContainer: false
123-
OSName: ${{ pool.os }}
124-
Matrix: dependencies.${{ parameters.GenerateJobName }}.outputs['vm_job_matrix_${{ config.Name }}_${{ pool.name }}.matrix']
125-
DependsOn: ${{ parameters.GenerateJobName }}
126-
CloudConfig: ${{ parameters.CloudConfig }}
127-
${{ each param in parameters.AdditionalParameters }}:
128-
${{ param.key }}: ${{ param.value }}
98+
- ${{ if eq(config.GenerateVMJobs, 'true') }}:
99+
- template: ${{ parameters.JobTemplatePath }}
100+
parameters:
101+
UsePlatformContainer: false
102+
Matrix: dependencies.${{ parameters.GenerateJobName }}.outputs['generate_vm_job_matrix_${{ config.Name }}.matrix']
103+
DependsOn: ${{ parameters.GenerateJobName }}
104+
CloudConfig: ${{ parameters.CloudConfig }}
105+
${{ each param in parameters.AdditionalParameters }}:
106+
${{ param.key }}: ${{ param.value }}
129107

130-
- ${{ if eq(config.GenerateContainerJobs, 'true') }}:
131-
- template: ${{ parameters.JobTemplatePath }}
132-
parameters:
133-
UsePlatformContainer: true
134-
OSName: ${{ pool.os }}
135-
Matrix: dependencies.${{ parameters.GenerateJobName }}.outputs['vm_job_matrix_${{ config.Name }}_${{ pool.name }}.matrix']
136-
DependsOn: ${{ parameters.GenerateJobName }}
137-
CloudConfig: ${{ parameters.CloudConfig }}
138-
${{ each param in parameters.AdditionalParameters }}:
139-
${{ param.key }}: ${{ param.value }}
108+
- ${{ if eq(config.GenerateContainerJobs, 'true') }}:
109+
- template: ${{ parameters.JobTemplatePath }}
110+
parameters:
111+
UsePlatformContainer: true
112+
Matrix: dependencies.${{ parameters.GenerateJobName }}.outputs['generate_container_job_matrix_${{ config.Name }}.matrix']
113+
DependsOn: ${{ parameters.GenerateJobName }}
114+
CloudConfig: ${{ parameters.CloudConfig }}
115+
${{ each param in parameters.AdditionalParameters }}:
116+
${{ param.key }}: ${{ param.value }}

eng/common/pipelines/templates/steps/publish-artifact.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,16 @@ parameters:
1212
CustomCondition: true
1313

1414
steps:
15-
- task: 1ES.PublishPipelineArtifact@1
15+
- task: PublishPipelineArtifact@1
1616
condition: and(succeeded(), ${{ parameters.CustomCondition }})
1717
displayName: 'Publish ${{ parameters.ArtifactName }} Artifacts'
1818
inputs:
19-
artifact: '${{ parameters.ArtifactName }}'
19+
artifactName: '${{ parameters.ArtifactName }}'
2020
path: '${{ parameters.ArtifactPath }}'
2121

22-
- task: 1ES.PublishPipelineArtifact@1
22+
- task: PublishPipelineArtifact@1
2323
condition: and(failed(), ${{ parameters.CustomCondition }})
2424
displayName: 'Publish failed ${{ parameters.ArtifactName }} Artifacts'
2525
inputs:
26-
artifact: '${{ parameters.ArtifactName }}-FailedAttempt$(System.JobAttempt)'
27-
path: '${{ parameters.ArtifactPath }}'
26+
artifactName: '${{ parameters.ArtifactName }}-FailedAttempt$(System.JobAttempt)'
27+
path: '${{ parameters.ArtifactPath }}'

eng/common/scripts/Verify-AgentOS.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ function Throw-InvalidOperatingSystem {
1010

1111
if ($IsWindows -and $AgentImage -match "windows|win|MMS\d{4}") {
1212
$osName = "Windows"
13-
} elseif ($IsLinux -and $AgentImage -match "ubuntu|linux") {
13+
} elseif ($IsLinux -and $AgentImage -match "ubuntu") {
1414
$osName = "Linux"
15-
} elseif ($IsMacOs -and $AgentImage -match "macos|macOS") {
15+
} elseif ($IsMacOs -and $AgentImage -match "macos") {
1616
$osName = "macOS"
1717
} else {
1818
Throw-InvalidOperatingSystem

eng/common/scripts/job-matrix/job-matrix-functions.ps1

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,9 @@ function ProcessReplace {
338338
$replaceMatrix = @()
339339

340340
foreach ($element in $matrix) {
341+
if (!$element -or $element.Count -eq 0) {
342+
continue
343+
}
341344
$replacement = [MatrixParameter[]]@()
342345
if (!$element -or $element.Count -eq 0) {
343346
continue
@@ -372,6 +375,7 @@ function ProcessReplace {
372375

373376
function ProcessEnvironmentVariableReferences([array]$matrix, $displayNamesLookup) {
374377
$updatedMatrix = @()
378+
$missingEnvVars = @{}
375379

376380
foreach ($element in $matrix) {
377381
$updated = [MatrixParameter[]]@()
@@ -384,9 +388,9 @@ function ProcessEnvironmentVariableReferences([array]$matrix, $displayNamesLooku
384388
foreach ($flattened in $perm.Flatten()) {
385389
if ($flattened.Value -is [string] -and $flattened.Value.StartsWith("env:")) {
386390
$envKey = $flattened.Value.Replace("env:", "")
387-
$value = [System.Environment]::GetEnvironmentVariable($envKey) ?? ""
391+
$value = [System.Environment]::GetEnvironmentVariable($envKey)
388392
if (!$value) {
389-
Write-Warning "Environment variable `"$envKey`" was not found or is empty."
393+
$missingEnvVars[$envKey] = $true
390394
}
391395
$perm.Set($value, $flattened.Name)
392396
}
@@ -398,6 +402,9 @@ function ProcessEnvironmentVariableReferences([array]$matrix, $displayNamesLooku
398402
$updatedMatrix += CreateMatrixCombinationScalar $updated $displayNamesLookup
399403
}
400404

405+
if ($missingEnvVars.Count -gt 0) {
406+
throw "Environment variables '$($missingEnvVars.Keys -join ", ")' were empty or not found."
407+
}
401408
return $updatedMatrix
402409
}
403410

0 commit comments

Comments
 (0)