Update Helix queues and enable dependency-update automation for the Helix SDK (#9867)

This commit is contained in:
Nate McMaster 2019-04-30 15:28:01 -07:00 committed by GitHub
parent ae8e96f154
commit 0b7458cc98
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 63 additions and 45 deletions

View File

@ -384,6 +384,10 @@
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>d37270268a65592cae630f1b979b70f74d4614dd</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="2.0.0-beta.19105.2">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>000</Sha>
</Dependency>
<Dependency Name="Microsoft.AspNetCore.Testing" Version="3.0.0-preview6.19229.8" CoherentParentDependency="Microsoft.EntityFrameworkCore">
<Uri>https://github.com/aspnet/Extensions</Uri>
<Sha>b38492576f2ad4025dda6ad49a83324804f9ff9c</Sha>

View File

@ -1,13 +1,10 @@
<Project DefaultTargets="Test">
<!-- Version included until we get global.json generation to support this SDK. -->
<Sdk Name="Microsoft.DotNet.Helix.Sdk" Version="2.0.0-beta.19105.2" />
<Project Sdk="Microsoft.DotNet.Helix.Sdk" DefaultTargets="Test">
<Import Project="$(RepositoryRoot)\eng\targets\Helix.Common.props" />
<Import Project="$(RepositoryRoot)\build\repo.props" />
<ItemGroup>
<HelixTargetQueue Include="@(HelixAvailibleTargetQueue)" />
<HelixTargetQueue Include="@(HelixAvailableTargetQueue)" />
</ItemGroup>
<PropertyGroup>

View File

@ -45,6 +45,7 @@ try {
Write-Host "Checking that Versions.props and Version.Details.xml match"
[xml] $versionProps = Get-Content "$repoRoot/eng/Versions.props"
[xml] $versionDetails = Get-Content "$repoRoot/eng/Version.Details.xml"
$globalJson = Get-Content $repoRoot/global.json | ConvertFrom-Json
$versionVars = New-Object 'System.Collections.Generic.HashSet[string]'
foreach ($vars in $versionProps.SelectNodes("//PropertyGroup[`@Label=`"Automated`"]/*")) {
@ -53,24 +54,38 @@ try {
foreach ($dep in $versionDetails.SelectNodes('//Dependency')) {
Write-Verbose "Found $dep"
$varName = $dep.Name -replace '\.',''
$varName = $varName -replace '\-',''
$varName = "${varName}PackageVersion"
$versionVar = $versionProps.SelectSingleNode("//PropertyGroup[`@Label=`"Automated`"]/$varName")
if (-not $versionVar) {
LogError "Missing version variable '$varName' in the 'Automated' property group in $repoRoot/eng/Versions.props"
continue
}
$versionVars.Remove($varName) | Out-Null
$expectedVersion = $dep.Version
$actualVersion = $versionVar.InnerText
if ($expectedVersion -ne $actualVersion) {
LogError `
"Version variable '$varName' does not match the value in Version.Details.xml. Expected '$expectedVersion', actual '$actualVersion'" `
-filepath "$repoRoot\eng\Versions.props"
if ($dep.Name -in $globalJson.'msbuild-sdks'.PSObject.Properties.Name) {
$actualVersion = $globalJson.'msbuild-sdks'.($dep.Name)
if ($expectedVersion -ne $actualVersion) {
LogError `
"MSBuild SDK version '$($dep.Name)' in global.json does not match the value in Version.Details.xml. Expected '$expectedVersion', actual '$actualVersion'" `
-filepath "$repoRoot\global.json"
}
}
else {
$varName = $dep.Name -replace '\.',''
$varName = $varName -replace '\-',''
$varName = "${varName}PackageVersion"
$versionVar = $versionProps.SelectSingleNode("//PropertyGroup[`@Label=`"Automated`"]/$varName")
$actualVersion = $versionVar.InnerText
$versionVars.Remove($varName) | Out-Null
if (-not $versionVar) {
LogError "Missing version variable '$varName' in the 'Automated' property group in $repoRoot/eng/Versions.props"
continue
}
if ($expectedVersion -ne $actualVersion) {
LogError `
"Version variable '$varName' does not match the value in Version.Details.xml. Expected '$expectedVersion', actual '$actualVersion'" `
-filepath "$repoRoot\eng\Versions.props"
}
}
}

View File

@ -1,27 +1,28 @@
<Project>
<ItemDefinitionGroup>
<HelixAvailibleTargetQueue>
<EnableByDefault>true</EnableByDefault>
</HelixAvailibleTargetQueue>
</ItemDefinitionGroup>
<ItemDefinitionGroup>
<HelixAvailableTargetQueue>
<EnableByDefault>true</EnableByDefault>
</HelixAvailableTargetQueue>
</ItemDefinitionGroup>
<!-- this file is shared between Helix.proj and .csproj files -->
<ItemGroup>
<HelixAvailblePlatform Include="Windows" />
<HelixAvailblePlatform Include="OSX" />
<HelixAvailblePlatform Include="Linux" />
<!-- this file is shared between Helix.proj and .csproj files -->
<ItemGroup>
<HelixAvailablePlatform Include="Windows" />
<HelixAvailablePlatform Include="OSX" />
<HelixAvailablePlatform Include="Linux" />
<HelixAvailibleTargetQueue Include="Windows.10.Amd64.ClientRS4.VS2017.Open" Platform="Windows" />
<HelixAvailibleTargetQueue Include="Windows.10.Amd64.EnterpriseRS3.ASPNET.Open" Platform="Windows" EnableByDefault="false" />
<HelixAvailibleTargetQueue Include="OSX.1012.Amd64.Open" Platform="OSX" />
<HelixAvailibleTargetQueue Include="Ubuntu.1810.Amd64.Open" Platform="Linux" />
<HelixAvailibleTargetQueue Include="Ubuntu.1604.Amd64.Open" Platform="Linux" />
<HelixAvailibleTargetQueue Include="Centos.7.Amd64.Open" Platform="Linux" />
<HelixAvailibleTargetQueue Include="Debian.8.Amd64.Open" Platform="Linux" />
<HelixAvailibleTargetQueue Include="Debian.9.Amd64.Open" Platform="Linux" />
<HelixAvailibleTargetQueue Include="Redhat.7.Amd64.Open" Platform="Linux" />
<HelixAvailibleTargetQueue Include="Fedora.28.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Windows.10.Amd64.ClientRS4.VS2017.Open" Platform="Windows" />
<HelixAvailableTargetQueue Include="Windows.10.Amd64.EnterpriseRS3.ASPNET.Open" Platform="Windows" EnableByDefault="false" />
<HelixAvailableTargetQueue Include="OSX.1012.Amd64.Open" Platform="OSX" />
<HelixAvailableTargetQueue Include="OSX.1014.Amd64.Open" Platform="OSX" />
<HelixAvailableTargetQueue Include="Ubuntu.1810.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Ubuntu.1604.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Centos.7.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Debian.8.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Debian.9.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Redhat.7.Amd64.Open" Platform="Linux" />
<HelixAvailableTargetQueue Include="Fedora.28.Amd64.Open" Platform="Linux" />
<!-- TODO: re-enable Debian.9.Arm64.Open and Ubuntu.1804.Arm64.Open -->
</ItemGroup>
<!-- TODO: re-enable Debian.9.Arm64.Open and Ubuntu.1804.Arm64.Open -->
</ItemGroup>
</Project>

View File

@ -25,7 +25,7 @@
</ItemGroup>
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETFramework'">
<HelixProjectPlatform Include="@(HelixAvailblePlatform)" />
<HelixProjectPlatform Include="@(HelixAvailablePlatform)" />
<HelixContent Include="$(RepositoryRoot)eng\helix\vstest\runtests.sh" />
<HelixContent Include="$(RepositoryRoot)eng\helix\vstest\runtests.cmd" />

View File

@ -30,7 +30,7 @@
<ItemGroup>
<!-- Include default queues based on platform -->
<_HelixProjectTargetQueue Include="%(HelixAvailibleTargetQueue.Identity)" Condition="'$(_SelectedPlatforms.Contains(%(Platform)))' == 'true' AND '%(EnableByDefault)' == 'true'" />
<_HelixProjectTargetQueue Include="%(HelixAvailableTargetQueue.Identity)" Condition="'$(_SelectedPlatforms.Contains(%(Platform)))' == 'true' AND '%(EnableByDefault)' == 'true'" />
<!-- Unconditionally include queues defined by project -->
<_HelixProjectTargetQueue Include="%(HelixProjectTargetQueue.Identity)" />

View File

@ -3,6 +3,7 @@
"version": "3.0.100-preview4-011136"
},
"msbuild-sdks": {
"Yarn.MSBuild": "1.13.0"
"Yarn.MSBuild": "1.13.0",
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19105.2"
}
}