Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 10 additions & 6 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,29 @@
<ProductDependencies>
<Dependency Name="Microsoft.Windows.CsWinRT" Version="1.4.1">
<Uri>https://github.com/microsoft/CsWinRT</Uri>
<Sha></Sha>
<Sha>
</Sha>
</Dependency>
<Dependency Name="CsWinRT.Dependency.DotNetCoreSdkn" Version="5.0.404">
<Uri>https://github.com/microsoft/CsWinRT</Uri>
<Sha></Sha>
<Sha>
</Sha>
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why separate lines when 1 line is used when there's a value e.g. line 28

</Dependency>
<Dependency Name="CsWinRT.Dependency.DotNetCoreRuntime" Version="5.0.13">
<Uri>https://github.com/microsoft/CsWinRT</Uri>
<Sha></Sha>
<Sha>
</Sha>
</Dependency>
<Dependency Name="CsWinRT.Dependency.WindowsSdkPackage" Version="10.0.18362.0">
<Uri>https://github.com/microsoft/CsWinRT</Uri>
<Sha></Sha>
<Sha>
</Sha>
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.WinAppSDK.EngCommon" Version="1.0.0-20211213.0-CI">
<Dependency Name="Microsoft.WinAppSDK.EngCommon" Version="1.0.0-20220110.0-CI">
<Uri>https://dev.azure.com/microsoft/ProjectReunion/_git/ProjectReunionInternal</Uri>
<Sha>c29bc59c779108f3818a0efb0e467c2b4bb6cb47</Sha>
<Sha>bc05e6cd828aed47148cb75597685d8cd59ae39d</Sha>
</Dependency>
</ToolsetDependencies>
</Dependencies>
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@
<!-- TODO: Fix DownloadDotNetCoreSdk.ps1 script so we don't need this property -->
<CsWinRTDependencyDotNetCoreSdkLkgPackageVersion>$(CsWinRTDependencyDotNetCoreSdkPackageVersion)</CsWinRTDependencyDotNetCoreSdkLkgPackageVersion>
</PropertyGroup>
</Project>
</Project>
21 changes: 20 additions & 1 deletion eng/common/AzurePipelinesTemplates/WindowsAppSDK-Build-Steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,18 @@
#
# The template eng\common\AzurePipelinesTemplates\WindowsAppSDK-BuildSetup-Steps.yml
# will facilitate setting up the requirements to sucessfully run this template.
# In most cases, WindowsAppSDK-BuildSetup-Steps.yml should be called first,
# then WindowsAppSDK-Build-Steps.yml.
#
# The intended use of this yml template is for the feeder repos' pipeline to build the WinAppSDK package
# with the latest versions from ProjectReunionInternal with the latest version of the transport package it
# has just built
#
# The WindowsAppSDK Nuget package produced will be published to WindowsAppSDKNugetPackage build artifacts
parameters:
- name: TransportPackageArtifactName
type: string
default: ''
- name: BuildType
displayName: "Build Type"
type: string
Expand All @@ -34,6 +39,14 @@ parameters:
version: 1.0.0-stable

steps:
- ${{ if ne(parameters.TransportPackageArtifactName, '') }}:
- task: DownloadBuildArtifacts@0
inputs:
artifactName: ${{ parameters.TransportPackageArtifactName }}
downloadPath: '$(Build.SourcesDirectory)\build\packages'
itemPattern: |
**/*.nupkg

# Replace the versions in version.details.xml in the ProjectReunionInternal repo
# Please note, the UpdateVersionDetailsConfig.ps1 that is used is one from the ProjectReunionInternal repo
- ${{ each package in parameters.TransportPackages }}:
Expand All @@ -47,7 +60,13 @@ steps:
displayName: BuildAll
inputs:
filePath: 'BuildAll.ps1'
arguments: -WindowsAppSDKPackageVersion "" -BuildType ${{ parameters.BuildType }} -Checkpoint "none" -Platform "x86,x64,arm64" -Configuration "release,debug"
arguments: >
-WindowsAppSDKPackageVersion ""
-BuildType ${{ parameters.BuildType }}
-Checkpoint "none"
-Platform "x86,x64,arm64"
-Configuration "release,debug"
-YamlStep "none"

- task: PublishBuildArtifacts@1
displayName: 'Publish Windows App SDK Packages'
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# This yml template combines WindowsAppSDK-BuildSetup, WindowsAppSDK-Build,
# and WindowsAppSDK-IntegrationTest templatesfor running the testAll script in ProjectReunionInternal
parameters:
- name: TransportPackageArtifactName
type: string
default: ''
- name: AzureSubscriptionServiceConnection
type: string
default: 'ProjectReunion Resource Manager'
- name: NuGetServiceConnectionName
type: string
default: 'ProjectReunionInternal'
- name: BuildType
displayName: "Build Type"
type: string
default: 'stable'
values:
- 'stable'
- 'experimental'
- name: "TransportPackages"
displayName: "TransportPackages to replace (name:version)"
type: object
default:
Foundation:
name: Microsoft.WindowsAppSDK.Foundation.TransportPackage
version: 1.0.0-stable
- name: TestSelection
type: string
default: "*"

steps:
- template: WindowsAppSDK-BuildSetup-Steps.yml
parameters:
AzureSubscriptionServiceConnection: ${{ parameters.AzureSubscriptionServiceConnection }}
NuGetServiceConnectionName: ${{ parameters.NuGetServiceConnectionName }}

- template: WindowsAppSDK-Build-Steps.yml
parameters:
TransportPackageArtifactName: ${{ parameters.TransportPackageArtifactName }}
BuildType: ${{ parameters.BuildType }}
TransportPackages: ${{ parameters.TransportPackages }}

- template: WindowsAppSDK-IntegrationTest-Steps.yml
parameters:
TestSelection: ${{ parameters.TestSelection }}
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,16 @@
# NuGetServiceConnectionName
# Service connection name to ProjectReunion Internal feed
# This is used to download other transport packages
#
# RefBranch
# The branch of the ProjectReunionInternal repository
parameters:
- name: ArtifactName
type: string
default: ''
- name: AzureSubscriptionServiceConnection
type: string
default: 'ProjectReunion Resource Manager'
- name: NuGetServiceConnectionName
type: string
default: 'ProjectReunionInternal'
- name: RefBranch
type: string
default: 'main'

steps:
- checkout: git://ProjectReunion/ProjectReunionInternal@${{ parameters.RefBranch }}
- checkout: git://ProjectReunion/ProjectReunionInternal

- task: AzureKeyVault@1
inputs:
Expand All @@ -40,13 +31,6 @@ steps:
SecretsFilter: 'TestMSCert'
RunAsPreJob: false

- task: DownloadBuildArtifacts@0
inputs:
artifactName: ${{ parameters.ArtifactName }}
downloadPath: '$(Build.SourcesDirectory)\build\packages'
itemPattern: |
**/*.nupkg

# Setup for MyCert.pfx
- task: PowerShell@2
name: CreateCert
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# This yml template is for running the testAll script in ProjectReunionInternal
# It downloads the WindowsAppSDK NuGetPackage from WindowsAppSDKNugetPackage (by default)
#
# Requirements:
# - This yml template can only be called from a pipeline in the "microsoft" AzureDevOps
# - Only the ProjectReunionInternal repository is checkout in the job
#
# The template eng\common\AzurePipelinesTemplates\WindowsAppSDK-BuildSetup-Steps.yml
# will facilitate setting up the requirements to sucessfully run this template.
# eng\common\AzurePipelinesTemplates\WindowsAppSDK-Build-Steps.yml will build the
# WindowsAppSDK Nuget Package for this template to use.
#
# In most cases, WindowsAppSDK-BuildSetup-Steps.yml should be called first,
# then WindowsAppSDK-Build-Steps.yml, and finally WindowsAppSDK-IntegrationTest-Steps.yml
#
# Parameters:
# WinAppSDkPackageArtifactName
# Name of the Artifact where the WindowsAppSDK NuGetPackage for the build lives

parameters:
- name: WinAppSDkPackageArtifactName
type: string
default: "WindowsAppSDKNugetPackage"
- name: TestSelection
type: string
default: "*"

steps:
- task: DownloadBuildArtifacts@0
inputs:
artifactName: ${{ parameters.WinAppSDkPackageArtifactName }}
downloadPath: '$(Build.SourcesDirectory)\temp'
itemPattern: |
**/Microsoft.WindowsAppSDK.*.nupkg

- task: PowerShell@2
displayName: Extract WindowsAppSDKVersion
inputs:
targetType: 'inline'
script: |
Copy-Item -Path "$(Build.SourcesDirectory)\temp" -Destination "$(Build.SourcesDirectory)\PackLocation" -Recurse

$files = Get-ChildItem $(Build.SourcesDirectory)\temp
foreach ($file in $files) # Iterate through each package we restored in the directory
{
Write-Host "file:" $file.FullName
$nupkgPaths = Get-ChildItem $file.FullName -Filter "*.nupkg"

# Extract nupkg to access the nuspec
# The files in this directory does not contain the nuspec by default
foreach ($nupkgPath in $nupkgPaths)
{
Write-Host "nupkgPath:" $nupkgPath.FullName
$rename = $nupkgPath.Name + ".zip"
Rename-Item $nupkgPath.FullName $rename
$renamedFilePath = $nupkgPath.FullName + ".zip"
$dest = $file.FullName + "/contents"
Expand-Archive $renamedFilePath -Destination $dest
}

$nuspecPaths = Get-ChildItem $file.FullName -Recurse -Filter "*.nuspec"
foreach ($nuspecPath in $nuspecPaths)
{
Write-Host "Found Nuspecs"
[xml]$nuspec = Get-Content -Path $nuspecPath.FullName
if ($nuspec.package.metadata.id -eq 'Microsoft.WindowsAppSDK')
{
$version = $nuspec.package.metadata.version
Write-Host "Found " $version
Write-Host "##vso[task.setvariable variable=WindowsAppSDKPackageVersion;]$version"
Exit 0
}
}
}
Exit 1

- task: PowerShell@2
name: TestAll
displayName: TestAll
inputs:
filePath: 'TestAll.ps1'
arguments: >
-WindowsAppSDKPackageVersion "$(WindowsAppSDKPackageVersion)"
-Checkpoint "none" -Platform "x64"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since you seem to be doing 1 arg per line move -Platform to its own line

-Configuration "release"
-YamlStep "none"
-RunTestMachineSetup
-Name "${{ parameters.TestSelection }}"
4 changes: 2 additions & 2 deletions global.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"tools": {
"dotnet": "6.0.100"
"dotnet": "6.0.101"
},
"msbuild-sdks": {
"Microsoft.WinAppSDK.EngCommon": "1.0.0-20211213.0-CI"
"Microsoft.WinAppSDK.EngCommon": "1.0.0-20220110.0-CI"
}
}