Skip to content

Commit 3b021e9

Browse files
authored
Check that mgmt libraries have a trigger path in resourcemanager ci.mgmt.yml file (#31361)
* Check that mgmt libraries have a trigger path in resourcemanager ci.mgmt.yml file * Normalize path endings and exclude core resourcemanager library * Use regex match to avoid lineending issues on different OS's
1 parent 8054e90 commit 3b021e9

File tree

3 files changed

+27
-16
lines changed

3 files changed

+27
-16
lines changed

eng/Directory.Build.Common.targets

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@
174174
<!-- Add ProjectReferences -->
175175
<ProjectReference Include="@(ProjectsToConvert -> '%(ProjectPath)')" />
176176
</ItemGroup>
177-
177+
178178
<!--TODO: update build targets - ADO 5668-->
179179
<PropertyGroup>
180180
<MgmtCoreShared>$(MSBuildThisFileDirectory)/../sdk/resourcemanager/Azure.ResourceManager/src/Shared</MgmtCoreShared>
@@ -185,7 +185,7 @@
185185
<Compile Include="$(MgmtCoreShared)/**/*.cs"
186186
LinkBase="Shared/Management" />
187187
</ItemGroup>
188-
188+
189189
<!--TODO: end-->
190190

191191
<!-- *********** Files needed for LRO ************* -->
@@ -210,13 +210,13 @@
210210
<Compile Include="$(AzureCoreSharedSources)TaskExtensions.cs" LinkBase="Shared/Core" />
211211
<Compile Include="$(AzureCoreSharedSources)AppContextSwitchHelper.cs" LinkBase="Shared/Core" />
212212
</ItemGroup>
213-
213+
214214
<!-- *********** Management Client Library Override section ************* -->
215215
<ItemGroup Condition="'$(IsMgmtLibrary)' == 'true' and '$(IsTestProject)' != 'true'">
216216

217217
<PackageReference Include="Azure.Core" />
218218
<PackageReference Include="System.Text.Json" />
219-
219+
220220
<!-- TODO: Review these file references-->
221221
<Compile Include="$(AzureCoreSharedSources)ArrayBufferWriter.cs" LinkBase="Shared" />
222222
<Compile Include="$(AzureCoreSharedSources)AzureResourceProviderNamespaceAttribute.cs" LinkBase="Shared" />
@@ -272,6 +272,17 @@
272272
<Error Condition="'@(PreviewPackageReferences)' != ''" Text="When the project has a release version it shouldn't reference any pre-release libraries. Found the following pre-release references: @(PreviewPackageReferences, ', ')" />
273273
</Target>
274274

275+
<!-- Validates that all the mgmt libraries have a trigger path in the core resourcemanager pipeline -->
276+
<Target Name="ValidateResourceManagerPipelineTriggers" AfterTargets="Build" Condition="'$(IsMgmtSubLibrary)' == 'true' and '$(IsShippingLibrary)' == 'true'" >
277+
<PropertyGroup>
278+
<_ResourceManagerCIFile>$(RepoRoot)/sdk/resourcemanager/ci.mgmt.yml</_ResourceManagerCIFile>
279+
<_ResourceManagerCIFileContents>$([System.IO.File]::ReadAllText($(_ResourceManagerCIFile)))</_ResourceManagerCIFileContents>
280+
<_ContainsTrigger>$([System.Text.RegularExpressions.Regex]::IsMatch($(_ResourceManagerCIFileContents), `- sdk/.*/$(MSBuildProjectName)\W+`))</_ContainsTrigger>
281+
</PropertyGroup>
282+
283+
<Error Condition="'$(_ContainsTrigger)' != 'true'" Text="The core resourcemanager pipeline ['$(_ResourceManagerCIFile)'] does not contain a trigger path for your library please run 'eng/scripts/Update-Mgmt-CI.ps1' to add the correct trigger paths." />
284+
</Target>
285+
275286
<!-- InheritDoc-->
276287
<ItemGroup Condition="'$(InheritDocEnabled)' != 'false'">
277288
<PackageReference Include="SauceControl.InheritDoc" PrivateAssets="all" />

eng/scripts/Update-Mgmt-CI.ps1

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ function Update-CIFile() {
66
param(
77
[string]$mgmtCiFile = ""
88
)
9-
9+
1010
$shouldRemove = $false
1111

1212
$lines = Get-Content $mgmtCiFile
@@ -36,10 +36,10 @@ function Update-CIFile() {
3636
}
3737
$shouldRemove = $false
3838
}
39-
39+
4040
$newLines.Add($line) | Out-Null
4141
}
42-
42+
4343
Set-Content -Path $mgmtCiFile $newLines
4444
}
4545

@@ -86,9 +86,9 @@ foreach($line in $armLines) {
8686
if($line.StartsWith(" paths:")) {
8787
$newLines.Add($line) | Out-Null
8888
$newLines.Add(" include:") | Out-Null
89-
$newLines.Add(" - sdk/resourcemanager/") | Out-Null
90-
$newLines.Add(" - common/ManagementTestShared/") | Out-Null
91-
$newLines.Add(" - common/ManagementCoreShared/") | Out-Null
89+
$newLines.Add(" - sdk/resourcemanager") | Out-Null
90+
$newLines.Add(" - common/ManagementTestShared") | Out-Null
91+
$newLines.Add(" - common/ManagementCoreShared") | Out-Null
9292
foreach($dir in $track2MgmtDirs) {
9393
$newLine = " - $($dir.FullName.Substring($startIndex, $dir.FullName.Length - $startIndex).Replace('\', '/'))"
9494
$newLines.Add($newLine) | Out-Null

sdk/resourcemanager/ci.mgmt.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ trigger:
88
- release/*
99
paths:
1010
include:
11-
- sdk/resourcemanager/
12-
- common/ManagementTestShared/
13-
- common/ManagementCoreShared/
11+
- sdk/resourcemanager
12+
- common/ManagementTestShared
13+
- common/ManagementCoreShared
1414
- sdk/advisor/Azure.ResourceManager.Advisor
1515
- sdk/agrifood/Azure.ResourceManager.AgFoodPlatform
1616
- sdk/alertsmanagement/Azure.ResourceManager.AlertsManagement
@@ -143,9 +143,9 @@ pr:
143143
- release/*
144144
paths:
145145
include:
146-
- sdk/resourcemanager/
147-
- common/ManagementTestShared/
148-
- common/ManagementCoreShared/
146+
- sdk/resourcemanager
147+
- common/ManagementTestShared
148+
- common/ManagementCoreShared
149149
- sdk/advisor/Azure.ResourceManager.Advisor
150150
- sdk/agrifood/Azure.ResourceManager.AgFoodPlatform
151151
- sdk/alertsmanagement/Azure.ResourceManager.AlertsManagement

0 commit comments

Comments
 (0)