Skip to content

Commit 62e88e4

Browse files
authored
Move CI version overrides to matrix based approach (Azure#43913)
1 parent 4bd28aa commit 62e88e4

File tree

5 files changed

+99
-57
lines changed

5 files changed

+99
-57
lines changed

eng/pipelines/templates/jobs/ci.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,11 @@ jobs:
422422
OsVmImage: $(LINUXVMIMAGE)
423423
Pool: $(LINUXPOOL)
424424
Os: linux
425-
MatrixConfigs: ${{ parameters.MatrixConfigs }}
425+
MatrixConfigs:
426+
- ${{ each config in parameters.MatrixConfigs }}:
427+
- ${{ config }}
428+
- ${{ each config in parameters.AdditionalMatrixConfigs }}:
429+
- ${{ config }}
426430
MatrixFilters: ${{ parameters.MatrixFilters }}
427431
MatrixReplace: ${{ parameters.MatrixReplace }}
428432
CloudConfig:

sdk/core/ci.yml

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -170,32 +170,14 @@ extends:
170170
# required by the above perf library
171171
- name: perf-test-core
172172
groupId: com.azure
173-
AdditionalStagesAfterBuild:
174-
- stage: DependencyVersionOverridesTests
175-
displayName: 'Dependency Version Overrides'
176-
dependsOn: []
177-
jobs:
178-
- template: /eng/pipelines/templates/jobs/ci.versions.tests.yml
179-
parameters:
180-
Artifacts:
181-
- name: azure-core-version-tests
182-
groupId: com.azure
183-
safeName: azurecoreversiontests
184-
VersionOverrides:
185-
- jackson_2.10
186-
- jackson_2.11
187-
- jackson_2.12
188-
- jackson_2.13
189-
- jackson_2.14
190-
- jackson_2.15
191-
- jackson_2.16
192-
- jackson_2.17
193-
- jackson_2.18
194-
- reactor_2020
195-
- reactor_2022
196-
- reactor_2023
197-
- reactor_2024
198-
TestGoals: surefire:test
173+
174+
# Run separate version override tests using a different artifacts list
175+
# This matrix config overrides the ArtifactsJson variable
176+
AdditionalMatrixConfigs:
177+
- Name: version_overrides_tests
178+
Path: sdk/core/version-overrides-matrix.json
179+
Selection: all
180+
GenerateVMJobs: true
199181

200182
LiveTestStages:
201183
- template: /sdk/storage/tests-template.yml
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{
2+
"matrix": {
3+
"Agent": {
4+
"ubuntu-20.04": { "OSVmImage": "env:LINUXVMIMAGE", "Pool": "env:LINUXPOOL" }
5+
},
6+
"TestConfig": {
7+
"version_override": {
8+
"TestVersionSupport": true,
9+
"VERSION_OVERRIDE_TESTS": true,
10+
"TestGoals": "surefire:test",
11+
// This has to be stringified json
12+
"ArtifactsJson": "{
13+
\"name\": \"azure-core-version-tests\",
14+
\"groupId\": \"com.azure\",
15+
\"safeName\": \"azurecoreversiontests\"
16+
}",
17+
// blank this out so we don't pick up the defaults from ci.yml
18+
"AdditionalModulesJson": ""
19+
}
20+
},
21+
"VersionOverride": [
22+
"jackson_2.10",
23+
"jackson_2.11",
24+
"jackson_2.12",
25+
"jackson_2.13",
26+
"jackson_2.14",
27+
"jackson_2.15",
28+
"jackson_2.16",
29+
"jackson_2.17",
30+
"jackson_2.18",
31+
"reactor_2020",
32+
"reactor_2022",
33+
"reactor_2023",
34+
"reactor_2024"
35+
]
36+
}
37+
}

sdk/serialization/ci.yml

Lines changed: 8 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -45,36 +45,14 @@ extends:
4545
groupId: com.azure
4646
safeName: azurexml
4747
releaseInBatch: ${{ parameters.release_azurexml }}
48-
AdditionalStagesAfterBuild:
49-
- stage: AzureJsonReflectVersionSupport
50-
displayName: 'azure-json-reflect Version Support'
51-
dependsOn: []
52-
jobs:
53-
- template: /eng/pipelines/templates/jobs/ci.versions.tests.yml
54-
parameters:
55-
Artifacts:
56-
- name: azure-json-reflect
57-
groupId: com.azure
58-
safeName: azurejsonreflect
59-
VersionOverrides:
60-
- gson_2.4
61-
- gson_2.5
62-
- gson_2.6
63-
- gson_2.7
64-
- gson_2.8
65-
- gson_2.9
66-
- gson_2.10
67-
- gson_2.11
68-
- jackson_2.10
69-
- jackson_2.11
70-
- jackson_2.12
71-
- jackson_2.13
72-
- jackson_2.14
73-
- jackson_2.15
74-
- jackson_2.16
75-
- jackson_2.17
76-
- jackson_2.18
77-
TestGoals: surefire:test
48+
49+
# Run separate version override tests using a different artifacts list
50+
# This matrix config overrides the ArtifactsJson variable
51+
AdditionalMatrixConfigs:
52+
- Name: version_overrides_tests
53+
Path: sdk/serialization/version-overrides-matrix.json
54+
Selection: all
55+
GenerateVMJobs: true
7856

7957
LiveTestStages:
8058
- template: /eng/pipelines/templates/stages/archetype-sdk-tests-isolated.yml
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"matrix": {
3+
"Agent": {
4+
"ubuntu-20.04": { "OSVmImage": "env:LINUXVMIMAGE", "Pool": "env:LINUXPOOL" }
5+
},
6+
"TestConfig": {
7+
"version_override": {
8+
"TestVersionSupport": true,
9+
"VERSION_OVERRIDE_TESTS": true,
10+
"TestGoals": "surefire:test",
11+
// This has to be stringified json
12+
"ArtifactsJson": "{
13+
\"name\": \"azure-json-reflect\",
14+
\"groupId\": \"com.azure\",
15+
\"safeName\": \"azurejsonreflect\"
16+
}",
17+
// blank this out so we don't pick up the defaults from ci.yml
18+
"AdditionalModulesJson": ""
19+
}
20+
},
21+
"VersionOverride": [
22+
"gson_2.4",
23+
"gson_2.5",
24+
"gson_2.6",
25+
"gson_2.7",
26+
"gson_2.8",
27+
"gson_2.9",
28+
"gson_2.10",
29+
"gson_2.11",
30+
"jackson_2.10",
31+
"jackson_2.11",
32+
"jackson_2.12",
33+
"jackson_2.13",
34+
"jackson_2.14",
35+
"jackson_2.15",
36+
"jackson_2.16",
37+
"jackson_2.17",
38+
"jackson_2.18"
39+
]
40+
}
41+
}

0 commit comments

Comments
 (0)