diff --git a/build/ci/.azure-devops-stages-docs.yml b/build/ci/.azure-devops-stages-docs.yml index 4bdc895a49bc..4a5a998584a6 100644 --- a/build/ci/.azure-devops-stages-docs.yml +++ b/build/ci/.azure-devops-stages-docs.yml @@ -1,23 +1,9 @@ stages: -- stage: Setup +- stage: setup displayName: Setup jobs: - - template: .azure-devops-commitsar.yml - parameters: - vmImage: '$(linuxVMImage)' - - - template: .azure-devops-spell-check.yml - parameters: - vmImage: '$(linuxVMImage)' - - - template: .azure-devops-markdown-lint.yml - parameters: - vmImage: '$(linuxVMImage)' - - - template: .azure-devops-pipeline-validations.yml - parameters: - vmImage: '$(linuxVMImage)' + - template: .azure-devops-setup.yml - stage: docs_generation displayName: Docs Generation diff --git a/build/ci/.azure-devops-stages.yml b/build/ci/.azure-devops-stages.yml index 1aa3abddd0e0..b5ec369ad92f 100644 --- a/build/ci/.azure-devops-stages.yml +++ b/build/ci/.azure-devops-stages.yml @@ -1,28 +1,14 @@ stages: -- stage: Setup +- stage: setup displayName: Setup jobs: - - template: .azure-devops-commitsar.yml - parameters: - vmImage: '$(linuxVMImage)' - - - template: .azure-devops-spell-check.yml - parameters: - vmImage: '$(linuxVMImage)' - - - template: .azure-devops-markdown-lint.yml - parameters: - vmImage: '$(linuxVMImage)' - - - template: .azure-devops-pipeline-validations.yml - parameters: - vmImage: '$(linuxVMImage)' + - template: setup/.azure-devops-setup.yml - stage: convert_tree displayName: UWP Tree Conversion dependsOn: - - Setup + - setup jobs: - template: .azure-devops-uwp-convert.yml parameters: @@ -31,29 +17,29 @@ stages: - stage: binaries_build_uwp displayName: Build Binaries UWP dependsOn: - - Setup + - setup - convert_tree jobs: - - template: .azure-devops-package-netcoremobile.yml + - template: build/.azure-devops-package-netcoremobile.yml parameters: poolName: '$(windowsScaledPool)' UNO_UWP_BUILD: true XAML_FLAVOR_BUILD: UWP - - template: .azure-devops-package-wasm.yml + - template: build/.azure-devops-package-wasm.yml parameters: poolName: '$(linuxScaledPool)' UNO_UWP_BUILD: true XAML_FLAVOR_BUILD: UWP - - template: .azure-devops-package-reference.yml + - template: build/.azure-devops-package-reference.yml parameters: poolName: '$(linuxScaledPool)' UNO_UWP_BUILD: true XAML_FLAVOR_BUILD: UWP - - template: .azure-devops-package-skia.yml + - template: build/.azure-devops-package-skia.yml parameters: poolName: '$(linuxScaledPool)' macOSImageName: '$(macOSVMImage)' @@ -63,28 +49,28 @@ stages: - stage: binaries_build_winui displayName: Build Binaries WinUI dependsOn: - - Setup + - setup jobs: - - template: .azure-devops-package-netcoremobile.yml + - template: build/.azure-devops-package-netcoremobile.yml parameters: poolName: '$(windowsScaledPool)' UNO_UWP_BUILD: false XAML_FLAVOR_BUILD: WinUI - - template: .azure-devops-package-wasm.yml + - template: build/.azure-devops-package-wasm.yml parameters: poolName: '$(linuxScaledPool)' UNO_UWP_BUILD: false XAML_FLAVOR_BUILD: WinUI - - template: .azure-devops-package-reference.yml + - template: build/.azure-devops-package-reference.yml parameters: poolName: '$(linuxScaledPool)' UNO_UWP_BUILD: false XAML_FLAVOR_BUILD: WinUI - - template: .azure-devops-package-skia.yml + - template: build/.azure-devops-package-skia.yml parameters: poolName: '$(linuxScaledPool)' macOSImageName: '$(macOSVMImage)' @@ -98,7 +84,7 @@ stages: - binaries_build_winui jobs: - - template: .azure-devops-package.yml + - template: build/.azure-devops-package.yml parameters: poolName: '$(windowsScaledPool)' @@ -108,7 +94,7 @@ stages: - packages_build jobs: - - template: .azure-devops-project-template-tests.yml + - template: tests/.azure-devops-project-template-tests.yml parameters: poolName: '$(windowsScaledPool)' vmImageWindows: $(windows2022HostedVMImage) @@ -125,7 +111,7 @@ stages: jobs: - - template: .azure-devops-unit-tests.yml + - template: tests/.azure-devops-unit-tests.yml parameters: poolName: '$(windowsScaledPool)' @@ -136,18 +122,18 @@ stages: jobs: - - template: .azure-devops-wasm-uitests.yml + - template: tests/.azure-devops-wasm-tests.yml parameters: poolName: '$(linuxScaledPool)' - stage: skia_tests_uwp displayName: Tests - Skia UWP dependsOn: - - Setup + - setup - convert_tree jobs: - - template: .azure-devops-skia-tests.yml + - template: tests/.azure-devops-skia-tests.yml parameters: vmImage: '$(windows2022HostedVMImage)' vmMacImage: '$(macOSVMImage)' @@ -159,10 +145,10 @@ stages: - stage: skia_tests_winui displayName: Tests - Skia WinUI dependsOn: - - Setup + - setup jobs: - - template: .azure-devops-skia-tests.yml + - template: tests/.azure-devops-skia-tests.yml parameters: vmImage: '$(windows2022HostedVMImage)' vmMacImage: '$(macOSVMImage)' @@ -174,10 +160,10 @@ stages: - stage: macos_tests displayName: Tests - macOS dependsOn: - - Setup + - setup jobs: - - template: .azure-devops-macos.yml + - template: tests/.azure-devops-macos.yml parameters: vmImage: '$(macOSVMImage)' xCodeRoot: '$(xCodeRoot)' @@ -185,10 +171,10 @@ stages: - stage: android_tests displayName: Tests - Android dependsOn: - - Setup + - setup jobs: - - template: .azure-devops-android-tests.yml + - template: tests/.azure-devops-android-tests.yml parameters: vmWindowsImage: '$(windows2019HostedVMImage)' vmLinuxImage: '$(linuxVMImage)' @@ -199,10 +185,10 @@ stages: - stage: ios_tests displayName: Tests - iOS dependsOn: - - Setup + - setup jobs: - - template: .azure-devops-ios-tests.yml + - template: tests/.azure-devops-ios-tests.yml parameters: vmImage: '$(macOSVMImage)' vmImageTest: '$(macOSVMImage_UITests)' @@ -212,10 +198,10 @@ stages: - stage: wasdk_tests displayName: Tests - WinAppSDK dependsOn: - - Setup + - setup jobs: - - template: .azure-devops-wasdk.yml + - template: tests/.azure-devops-wasdk.yml parameters: poolName: '$(windowsScaledPool)' @@ -230,7 +216,7 @@ stages: - skia_tests_winui jobs: - - template: .azure-devops-screenshot-compare.yml + - template: tests/.azure-devops-screenshot-compare.yml parameters: poolName: '$(windowsScaledPool)' @@ -242,7 +228,7 @@ stages: condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'), not(eq(variables['build.reason'], 'PullRequest'))) dependsOn: packages_build jobs: - - template: .azure-devops-publish-nuget-dev.yml + - template: publishing/.azure-devops-publish-nuget-dev.yml parameters: vmImage: '$(windows2022HostedVMImage)' @@ -251,7 +237,7 @@ stages: condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'), not(eq(variables['build.reason'], 'PullRequest'))) dependsOn: packages_build jobs: - - template: .azure-devops-publish-nuget-prod-dev.yml + - template: publishing/.azure-devops-publish-nuget-prod-dev.yml parameters: vmImage: '$(windows2022HostedVMImage)' @@ -260,6 +246,6 @@ stages: condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/'), not(eq(variables['build.reason'], 'PullRequest'))) dependsOn: Publish_Prod_Dev jobs: - - template: .azure-devops-publish-nuget-prod.yml + - template: publishing/.azure-devops-publish-nuget-prod.yml parameters: vmImage: '$(windows2022HostedVMImage)' diff --git a/build/ci/.azure-devops-macos.yml b/build/ci/build/.azure-devops-macos.yml similarity index 100% rename from build/ci/.azure-devops-macos.yml rename to build/ci/build/.azure-devops-macos.yml diff --git a/build/ci/.azure-devops-package-native-assets.yml b/build/ci/build/.azure-devops-package-native-assets.yml similarity index 100% rename from build/ci/.azure-devops-package-native-assets.yml rename to build/ci/build/.azure-devops-package-native-assets.yml diff --git a/build/ci/.azure-devops-package-netcoremobile.yml b/build/ci/build/.azure-devops-package-netcoremobile.yml similarity index 84% rename from build/ci/.azure-devops-package-netcoremobile.yml rename to build/ci/build/.azure-devops-package-netcoremobile.yml index 4a84d441e50b..813bab5b689c 100644 --- a/build/ci/.azure-devops-package-netcoremobile.yml +++ b/build/ci/build/.azure-devops-package-netcoremobile.yml @@ -27,6 +27,9 @@ jobs: UNO_UWP_BUILD: ${{ parameters.UNO_UWP_BUILD }} XAML_FLAVOR_BUILD: ${{ parameters.XAML_FLAVOR_BUILD }} + ArchiveName: windows-netcoremobile-bin + ArtifactName: NugetPackages-Artifacts-netcoremobile + steps: - checkout: self clean: true @@ -82,19 +85,4 @@ jobs: createLogFile: false displayName: Building WinAppSDK Graphics3DGL package binaries - - template: templates/copy-package-assets.yml - - - task: ArchiveFiles@2 - inputs: - rootFolderOrFile: $(build.sourcesdirectory)\build-artifacts\bin-$(XAML_FLAVOR_BUILD) - includeRootFolder: false - archiveType: 'zip' - archiveFile: '$(Build.ArtifactStagingDirectory)/windows-netcoremobile-bin-$(XAML_FLAVOR_BUILD).zip' - - - task: PublishBuildArtifacts@1 - condition: always() - retryCountOnTaskFailure: 3 - inputs: - PathtoPublish: $(build.artifactstagingdirectory) - ArtifactName: NugetPackages-Artifacts-netcoremobile-$(XAML_FLAVOR_BUILD) - ArtifactType: Container + - template: templates/copy-and-publish-package-assets.yml diff --git a/build/ci/.azure-devops-package-reference.yml b/build/ci/build/.azure-devops-package-reference.yml similarity index 71% rename from build/ci/.azure-devops-package-reference.yml rename to build/ci/build/.azure-devops-package-reference.yml index c428ce695a94..704331485261 100644 --- a/build/ci/.azure-devops-package-reference.yml +++ b/build/ci/build/.azure-devops-package-reference.yml @@ -17,6 +17,9 @@ jobs: UNO_UWP_BUILD: ${{ parameters.UNO_UWP_BUILD }} XAML_FLAVOR_BUILD: ${{ parameters.XAML_FLAVOR_BUILD }} + ArchiveName: Reference-bin + ArtifactName: NugetPackages-Artifacts-reference + steps: - checkout: self clean: true @@ -43,19 +46,4 @@ jobs: dotnet build build/Uno.UI.Build.csproj /m /t:BuildCIReference "/p:CombinedConfiguration=$(CombinedConfiguration)" /detailedsummary /bl:$(build.artifactstagingdirectory)/build-Reference-$(XAML_FLAVOR_BUILD).binlog displayName: Building Reference Binaries - - template: templates/copy-package-assets.yml - - - task: ArchiveFiles@2 - inputs: - rootFolderOrFile: $(build.sourcesdirectory)/build-artifacts/bin-$(XAML_FLAVOR_BUILD) - includeRootFolder: false - archiveType: 'zip' - archiveFile: '$(Build.ArtifactStagingDirectory)/Reference-bin-$(XAML_FLAVOR_BUILD).zip' - - - task: PublishBuildArtifacts@1 - condition: always() - retryCountOnTaskFailure: 3 - inputs: - PathtoPublish: $(build.artifactstagingdirectory) - ArtifactName: NugetPackages-Artifacts-reference-$(XAML_FLAVOR_BUILD) - ArtifactType: Container + - template: templates/copy-and-publish-package-assets.yml \ No newline at end of file diff --git a/build/ci/.azure-devops-package-skia-native-assets.yml b/build/ci/build/.azure-devops-package-skia-native-assets.yml similarity index 100% rename from build/ci/.azure-devops-package-skia-native-assets.yml rename to build/ci/build/.azure-devops-package-skia-native-assets.yml diff --git a/build/ci/.azure-devops-package-skia.yml b/build/ci/build/.azure-devops-package-skia.yml similarity index 95% rename from build/ci/.azure-devops-package-skia.yml rename to build/ci/build/.azure-devops-package-skia.yml index dd36e5161ac8..2fd6d86c9712 100644 --- a/build/ci/.azure-devops-package-skia.yml +++ b/build/ci/build/.azure-devops-package-skia.yml @@ -28,6 +28,9 @@ jobs: UNO_UWP_BUILD: ${{ parameters.UNO_UWP_BUILD }} XAML_FLAVOR_BUILD: ${{ parameters.XAML_FLAVOR_BUILD }} + ArchiveName: skia-bin + ArtifactName: NugetPackages-Artifacts-skia + steps: - checkout: self clean: true @@ -62,7 +65,7 @@ jobs: dotnet build build/Uno.UI.Build.csproj /m /t:BuildCISkia "/p:CombinedConfiguration=$(CombinedConfiguration)" /detailedsummary /bl:$(build.artifactstagingdirectory)/build-skia-$(XAML_FLAVOR_BUILD).binlog displayName: Building Skia Binaries - - template: templates/copy-package-assets.yml + - template: templates/copy-and-publish-package-assets.yml - task: ArchiveFiles@2 inputs: diff --git a/build/ci/.azure-devops-package-wasm.yml b/build/ci/build/.azure-devops-package-wasm.yml similarity index 71% rename from build/ci/.azure-devops-package-wasm.yml rename to build/ci/build/.azure-devops-package-wasm.yml index bddc979713d3..b289c1e158d2 100644 --- a/build/ci/.azure-devops-package-wasm.yml +++ b/build/ci/build/.azure-devops-package-wasm.yml @@ -18,6 +18,9 @@ jobs: UNO_UWP_BUILD: ${{ parameters.UNO_UWP_BUILD }} XAML_FLAVOR_BUILD: ${{ parameters.XAML_FLAVOR_BUILD }} + ArchiveName: wasm-bin + ArtifactName: NugetPackages-Artifacts-wasm + steps: - checkout: self clean: true @@ -44,19 +47,4 @@ jobs: dotnet build build/Uno.UI.Build.csproj /m /t:BuildCIWasm "/p:CombinedConfiguration=$(CombinedConfiguration)" /detailedsummary /bl:$(build.artifactstagingdirectory)/build-wasm-$(XAML_FLAVOR_BUILD).binlog displayName: Building Wasm Binaries - - template: templates/copy-package-assets.yml - - - task: ArchiveFiles@2 - inputs: - rootFolderOrFile: $(build.sourcesdirectory)/build-artifacts/bin-$(XAML_FLAVOR_BUILD) - includeRootFolder: false - archiveType: 'zip' - archiveFile: '$(Build.ArtifactStagingDirectory)/wasm-bin-$(XAML_FLAVOR_BUILD).zip' - - - task: PublishBuildArtifacts@1 - condition: always() - retryCountOnTaskFailure: 3 - inputs: - PathtoPublish: $(build.artifactstagingdirectory) - ArtifactName: NugetPackages-Artifacts-wasm-$(XAML_FLAVOR_BUILD) - ArtifactType: Container + - template: templates/copy-and-publish-package-assets.yml diff --git a/build/ci/.azure-devops-package.yml b/build/ci/build/.azure-devops-package.yml similarity index 100% rename from build/ci/.azure-devops-package.yml rename to build/ci/build/.azure-devops-package.yml diff --git a/build/ci/.azure-devops-uwp-convert.yml b/build/ci/build/.azure-devops-uwp-convert.yml similarity index 94% rename from build/ci/.azure-devops-uwp-convert.yml rename to build/ci/build/.azure-devops-uwp-convert.yml index 58b1918ed152..2a74aca4fdf3 100644 --- a/build/ci/.azure-devops-uwp-convert.yml +++ b/build/ci/build/.azure-devops-uwp-convert.yml @@ -50,6 +50,7 @@ jobs: createLogFile: false - task: PublishBuildArtifacts@1 + displayName: 'Publish Sync Generator binlogs' condition: always() retryCountOnTaskFailure: 3 inputs: @@ -67,11 +68,13 @@ jobs: displayName: Cleanup sources before publish - task: PublishPipelineArtifact@1 + displayName: 'Publish UWP Converted Tree' inputs: targetPath: $(build.sourcesdirectory) artifactName: uwp-converted-tree - task: PublishBuildArtifacts@1 + displayName: 'Publish build artifacts' condition: always() retryCountOnTaskFailure: 3 inputs: diff --git a/build/ci/.azure-devops-wasdk.yml b/build/ci/build/.azure-devops-wasdk.yml similarity index 100% rename from build/ci/.azure-devops-wasdk.yml rename to build/ci/build/.azure-devops-wasdk.yml diff --git a/build/ci/.azure-devops-docs.yml b/build/ci/docs/.azure-devops-docs.yml similarity index 100% rename from build/ci/.azure-devops-docs.yml rename to build/ci/docs/.azure-devops-docs.yml diff --git a/build/ci/.azure-devops-publish-nuget-dev.yml b/build/ci/publishing/.azure-devops-publish-nuget-dev.yml similarity index 100% rename from build/ci/.azure-devops-publish-nuget-dev.yml rename to build/ci/publishing/.azure-devops-publish-nuget-dev.yml diff --git a/build/ci/.azure-devops-publish-nuget-prod-dev.yml b/build/ci/publishing/.azure-devops-publish-nuget-prod-dev.yml similarity index 100% rename from build/ci/.azure-devops-publish-nuget-prod-dev.yml rename to build/ci/publishing/.azure-devops-publish-nuget-prod-dev.yml diff --git a/build/ci/.azure-devops-publish-nuget-prod.yml b/build/ci/publishing/.azure-devops-publish-nuget-prod.yml similarity index 100% rename from build/ci/.azure-devops-publish-nuget-prod.yml rename to build/ci/publishing/.azure-devops-publish-nuget-prod.yml diff --git a/build/ci/.azure-devops-commitsar.yml b/build/ci/setup/.azure-devops-commitsar.yml similarity index 85% rename from build/ci/.azure-devops-commitsar.yml rename to build/ci/setup/.azure-devops-commitsar.yml index 3fd278f5d455..1d4c32876d37 100644 --- a/build/ci/.azure-devops-commitsar.yml +++ b/build/ci/setup/.azure-devops-commitsar.yml @@ -19,5 +19,6 @@ jobs: ./commitsar condition: ne(variables['System.PullRequest.PullRequestNumber'], '') + displayName: 'Commitsar Validation' - - template: templates/generate-changelog.yml + - template: ../templates/generate-changelog.yml diff --git a/build/ci/.azure-devops-markdown-lint.yml b/build/ci/setup/.azure-devops-markdown-lint.yml similarity index 94% rename from build/ci/.azure-devops-markdown-lint.yml rename to build/ci/setup/.azure-devops-markdown-lint.yml index de2e46acb14b..0ddae781db94 100644 --- a/build/ci/.azure-devops-markdown-lint.yml +++ b/build/ci/setup/.azure-devops-markdown-lint.yml @@ -14,6 +14,7 @@ jobs: clean: true - task: NodeTool@0 + displayName: 'Install Node.js' inputs: versionSpec: '18.x' diff --git a/build/ci/.azure-devops-pipeline-validations.yml b/build/ci/setup/.azure-devops-pipeline-validations.yml similarity index 79% rename from build/ci/.azure-devops-pipeline-validations.yml rename to build/ci/setup/.azure-devops-pipeline-validations.yml index 7d7b9d92b023..d16eb6a07f35 100644 --- a/build/ci/.azure-devops-pipeline-validations.yml +++ b/build/ci/setup/.azure-devops-pipeline-validations.yml @@ -12,4 +12,4 @@ jobs: - checkout: self clean: true - - template: templates/gitversion-run.yml + - template: ../templates/gitversion-run.yml diff --git a/build/ci/setup/.azure-devops-setup.yml b/build/ci/setup/.azure-devops-setup.yml new file mode 100644 index 000000000000..329f28749156 --- /dev/null +++ b/build/ci/setup/.azure-devops-setup.yml @@ -0,0 +1,16 @@ +jobs: + - template: .azure-devops-commitsar.yml + parameters: + vmImage: '$(linuxVMImage)' + + - template: .azure-devops-spell-check.yml + parameters: + vmImage: '$(linuxVMImage)' + + - template: .azure-devops-markdown-lint.yml + parameters: + vmImage: '$(linuxVMImage)' + + - template: .azure-devops-pipeline-validations.yml + parameters: + vmImage: '$(linuxVMImage)' diff --git a/build/ci/.azure-devops-spell-check.yml b/build/ci/setup/.azure-devops-spell-check.yml similarity index 100% rename from build/ci/.azure-devops-spell-check.yml rename to build/ci/setup/.azure-devops-spell-check.yml diff --git a/build/ci/templates/copy-and-publish-package-assets.yml b/build/ci/templates/copy-and-publish-package-assets.yml new file mode 100644 index 000000000000..e8781a3c4eb8 --- /dev/null +++ b/build/ci/templates/copy-and-publish-package-assets.yml @@ -0,0 +1,41 @@ +# Copies build artifacts from bin folders and publishes them + +steps: + + - task: CopyFiles@2 + displayName: 'Copy build artifacts' + condition: always() + inputs: + SourceFolder: $(build.sourcesdirectory) + Contents: | + **/Uno.Sdk/bin/**/*.nupkg + **/bin/**/*.dll + **/bin/**/*.pdb + **/bin/**/*.xml + **/bin/**/*.xbf + **/bin/**/*.xaml + **/bin/**/*.pri + **/bin/**/*.aar + **/bin/**/*.json + **/bin/**/*.config + TargetFolder: $(build.sourcesdirectory)/build-artifacts/bin-$(XAML_FLAVOR_BUILD) + CleanTargetFolder: false + OverWrite: false + flattenFolders: false + + - task: ArchiveFiles@2 + displayName: 'Archive build artifacts' + inputs: + rootFolderOrFile: $(build.sourcesdirectory)/build-artifacts/bin-$(XAML_FLAVOR_BUILD) + includeRootFolder: false + archiveType: 'zip' + archiveFile: '$(Build.ArtifactStagingDirectory)/$(ArchiveName)-$(XAML_FLAVOR_BUILD).zip' + + - task: PublishBuildArtifacts@1 + displayName: 'Publish build artifacts' + condition: always() + retryCountOnTaskFailure: 3 + inputs: + PathtoPublish: $(build.artifactstagingdirectory) + ArtifactName: '$(ArtifactName)-$(XAML_FLAVOR_BUILD)' + ArtifactType: Container \ No newline at end of file diff --git a/build/ci/templates/copy-package-assets.yml b/build/ci/templates/copy-package-assets.yml deleted file mode 100644 index 6906d37bb57b..000000000000 --- a/build/ci/templates/copy-package-assets.yml +++ /dev/null @@ -1,21 +0,0 @@ -steps: - - - task: CopyFiles@2 - condition: always() - inputs: - SourceFolder: $(build.sourcesdirectory) - Contents: | - **/Uno.Sdk/bin/**/*.nupkg - **/bin/**/*.dll - **/bin/**/*.pdb - **/bin/**/*.xml - **/bin/**/*.xbf - **/bin/**/*.xaml - **/bin/**/*.pri - **/bin/**/*.aar - **/bin/**/*.json - **/bin/**/*.config - TargetFolder: $(build.sourcesdirectory)/build-artifacts/bin-$(XAML_FLAVOR_BUILD) - CleanTargetFolder: false - OverWrite: false - flattenFolders: false diff --git a/build/ci/templates/docfx-intermediary-assets.yml b/build/ci/templates/docfx-intermediary-assets.yml index 647eee89fc3c..7565fa7ae1d5 100644 --- a/build/ci/templates/docfx-intermediary-assets.yml +++ b/build/ci/templates/docfx-intermediary-assets.yml @@ -1,3 +1,5 @@ +# Installs dependencies for DocFX + steps: - task: NodeTool@0 displayName: "Install Node 14.7.1" diff --git a/build/ci/templates/dotnet-install.yml b/build/ci/templates/dotnet-install.yml index cbc913fe7c63..fcecd79808c9 100644 --- a/build/ci/templates/dotnet-install.yml +++ b/build/ci/templates/dotnet-install.yml @@ -1,3 +1,5 @@ +# Installs .NET SDK + steps: - bash: | diff --git a/build/ci/templates/dotnet-mobile-install-linux.yml b/build/ci/templates/dotnet-mobile-install-linux.yml index 15b4901ae26b..a9edc128803d 100644 --- a/build/ci/templates/dotnet-mobile-install-linux.yml +++ b/build/ci/templates/dotnet-mobile-install-linux.yml @@ -1,3 +1,5 @@ +# Installs .NET workloads and dependencies on Linux + parameters: UnoCheck_Version: '1.27.0-dev.8' diff --git a/build/ci/templates/dotnet-mobile-install-mac.yml b/build/ci/templates/dotnet-mobile-install-mac.yml index 4bfd4a406ec6..d162a646af16 100644 --- a/build/ci/templates/dotnet-mobile-install-mac.yml +++ b/build/ci/templates/dotnet-mobile-install-mac.yml @@ -1,3 +1,5 @@ +# Installs .NET workloads and dependencies on macOS + parameters: UnoCheck_Version: '1.27.0-dev.8' diff --git a/build/ci/templates/dotnet-mobile-install-windows.yml b/build/ci/templates/dotnet-mobile-install-windows.yml index 4bfd4a406ec6..1c6be802a5ff 100644 --- a/build/ci/templates/dotnet-mobile-install-windows.yml +++ b/build/ci/templates/dotnet-mobile-install-windows.yml @@ -1,3 +1,5 @@ +# Installs .NET workloads and dependencies on Windows + parameters: UnoCheck_Version: '1.27.0-dev.8' diff --git a/build/ci/templates/download-winui-converted-tree.yml b/build/ci/templates/download-winui-converted-tree.yml index ca16fccbd99d..eae8403ce0c0 100644 --- a/build/ci/templates/download-winui-converted-tree.yml +++ b/build/ci/templates/download-winui-converted-tree.yml @@ -1,3 +1,5 @@ +# Downloads the UWP converted source tree from the pipeline artifacts if the UNO_UWP_BUILD variable is set to true. + steps: - pwsh: | cd $(Build.SourcesDirectory) diff --git a/build/ci/templates/generate-changelog.yml b/build/ci/templates/generate-changelog.yml index 497e6d92d1e9..d954bfd0a9dc 100644 --- a/build/ci/templates/generate-changelog.yml +++ b/build/ci/templates/generate-changelog.yml @@ -1,10 +1,12 @@ +# Generates a changelog file based on the conventional commit messages + steps: - bash: | npm install -g conventional-changelog-cli@2.2.2 conventional-changelog -p angular -u -r 2 -o "build/CHANGELOG.md" # sed -r -i 's/\[(.*?)\]\((.*?)\)/\2/g' build/CHANGELOG.md - displayName: 'Generate CHANGELOG.MD' + displayName: 'Generate changelog' - task: CopyFiles@2 displayName: Copy changelog @@ -15,6 +17,7 @@ steps: TargetFolder: $(build.artifactstagingdirectory) - task: PublishBuildArtifacts@1 + displayName: Publish changelog condition: always() retryCountOnTaskFailure: 3 inputs: diff --git a/build/ci/templates/gitversion-run.yml b/build/ci/templates/gitversion-run.yml index d504a429feea..1966f8f85e3c 100644 --- a/build/ci/templates/gitversion-run.yml +++ b/build/ci/templates/gitversion-run.yml @@ -14,6 +14,7 @@ steps: displayName: Update GitVersion file for PullRequests - task: gitversion/setup@0 + displayName: Setup GitVersion retryCountOnTaskFailure: 3 inputs: versionSpec: '5.10.3' diff --git a/build/ci/.azure-devops-android-tests.yml b/build/ci/tests/.azure-devops-android-tests.yml similarity index 100% rename from build/ci/.azure-devops-android-tests.yml rename to build/ci/tests/.azure-devops-android-tests.yml diff --git a/build/ci/.azure-devops-ios-tests-run.yml b/build/ci/tests/.azure-devops-ios-tests-run.yml similarity index 100% rename from build/ci/.azure-devops-ios-tests-run.yml rename to build/ci/tests/.azure-devops-ios-tests-run.yml diff --git a/build/ci/.azure-devops-ios-tests.yml b/build/ci/tests/.azure-devops-ios-tests.yml similarity index 100% rename from build/ci/.azure-devops-ios-tests.yml rename to build/ci/tests/.azure-devops-ios-tests.yml diff --git a/build/ci/.azure-devops-project-template-tests.yml b/build/ci/tests/.azure-devops-project-template-tests.yml similarity index 100% rename from build/ci/.azure-devops-project-template-tests.yml rename to build/ci/tests/.azure-devops-project-template-tests.yml diff --git a/build/ci/.azure-devops-screenshot-compare.yml b/build/ci/tests/.azure-devops-screenshot-compare.yml similarity index 100% rename from build/ci/.azure-devops-screenshot-compare.yml rename to build/ci/tests/.azure-devops-screenshot-compare.yml diff --git a/build/ci/.azure-devops-skia-tests.yml b/build/ci/tests/.azure-devops-skia-tests.yml similarity index 100% rename from build/ci/.azure-devops-skia-tests.yml rename to build/ci/tests/.azure-devops-skia-tests.yml diff --git a/build/ci/.azure-devops-unit-tests.yml b/build/ci/tests/.azure-devops-unit-tests.yml similarity index 91% rename from build/ci/.azure-devops-unit-tests.yml rename to build/ci/tests/.azure-devops-unit-tests.yml index c14d8e5c51a5..13e873e9c91f 100644 --- a/build/ci/.azure-devops-unit-tests.yml +++ b/build/ci/tests/.azure-devops-unit-tests.yml @@ -52,19 +52,20 @@ jobs: # We need just the .NET 8 runtime (not the SDK). # Building with .NET 9 SDK is fine, but running the app when the TFM is net8.0 requires the .NET 8 runtime - task: UseDotNet@2 + displayName: 'Use .NET 8 Runtime' inputs: packageType: 'runtime' version: '8.x' - task: DownloadBuildArtifacts@0 - displayName: Download build artifact + displayName: Download Reference build artifacts inputs: artifactName: 'NugetPackages-Artifacts-reference-$(XAML_FLAVOR_BUILD)' downloadPath: '$(Agent.WorkFolder)' # Unfortunate, but this is needed specifically for a single test: TestAndroidViewImplementingDependencyObject - task: DownloadBuildArtifacts@0 - displayName: Download build artifact + displayName: Download Mobile build artifacts inputs: artifactName: 'NugetPackages-Artifacts-netcoremobile-$(XAML_FLAVOR_BUILD)' downloadPath: '$(Agent.WorkFolder)' @@ -78,11 +79,13 @@ jobs: overwriteExistingFiles: true - task: MSBuild@1 + displayName: 'Build Unit Tests' inputs: solution: src/Uno.UI-UnitTests-only.slnf msbuildArguments: /r /v:m /p:CheckExclusions=True /p:Configuration=Release /nodeReuse:true /detailedsummary /m $(ADDITIONAL_FLAGS) /bl:$(build.artifactstagingdirectory)\unit-tests-build-$(XAML_FLAVOR_BUILD).binlog - task: PublishBuildArtifacts@1 + displayName: 'Publish build artifacts' condition: always() retryCountOnTaskFailure: 3 inputs: @@ -91,11 +94,13 @@ jobs: ArtifactType: Container - task: VisualStudioTestPlatformInstaller@1 + displayName: 'Install Visual Studio Test Platform' inputs: versionSelector: specificVersion testPlatformVersion: 17.6.0 - task: VSTest@2 + displayName: 'Run Unit Tests' inputs: testAssemblyVer2: | **\*test*.dll diff --git a/build/ci/.azure-devops-wasm-uitests.yml b/build/ci/tests/.azure-devops-wasm-tests.yml similarity index 92% rename from build/ci/.azure-devops-wasm-uitests.yml rename to build/ci/tests/.azure-devops-wasm-tests.yml index 8ba323358a8c..16414a061aea 100644 --- a/build/ci/.azure-devops-wasm-uitests.yml +++ b/build/ci/tests/.azure-devops-wasm-tests.yml @@ -40,7 +40,7 @@ jobs: displayName: 'Build sample app (net9.0)' - task: CopyFiles@2 - displayName: 'Publish Wasm Site (net9.0)' + displayName: 'Publish WebAssembly Site (net9.0)' inputs: SourceFolder: $(build.sourcesdirectory)/src/SamplesApp/SamplesApp.Wasm/bin/Release/net9.0/browser-wasm/publish/wwwroot Contents: '**/*.*' @@ -50,6 +50,7 @@ jobs: flattenFolders: false - task: PublishBuildArtifacts@1 + displayName: 'Publish WebAssembly sample app build artifacts' condition: always() retryCountOnTaskFailure: 3 inputs: @@ -121,7 +122,7 @@ jobs: - job: Wasm_UITests_Automated - displayName: ' WebAssembly Tests' + displayName: 'Run WebAssembly' dependsOn: - Wasm_UITests_Build @@ -129,21 +130,21 @@ jobs: strategy: matrix: - net9_default: + '.NET 9 UWP UI Tests': SITE_SUFFIX: 'net9.0-UWP' UITEST_AUTOMATED_GROUP: 'Default' UITEST_TEST_TIMEOUT: '120s' IS_RUNTIME_TESTS: false IS_UI_TESTS: true - net9_benchmarks: + '.NET 9 WinUI Benchmarks': SITE_SUFFIX: 'net9.0-WinUI' UITEST_AUTOMATED_GROUP: 'Benchmarks' UITEST_TEST_TIMEOUT: '15m' IS_RUNTIME_TESTS: false IS_UI_TESTS: true - net9_uwp_runtimetests_group_00: + '.NET 9 UWP Runtime Tests 1': SITE_SUFFIX: 'net9.0-UWP' UITEST_AUTOMATED_GROUP: 'RuntimeTests' UITEST_TEST_TIMEOUT: '20m' @@ -152,7 +153,7 @@ jobs: IS_RUNTIME_TESTS: true IS_UI_TESTS: false - net9_uwp_runtimetests_group_01: + '.NET 9 UWP Runtime Tests 2': SITE_SUFFIX: 'net9.0-UWP' UITEST_AUTOMATED_GROUP: 'RuntimeTests' UITEST_TEST_TIMEOUT: '20m' @@ -161,7 +162,7 @@ jobs: IS_RUNTIME_TESTS: true IS_UI_TESTS: false - net9_uwp_runtimetests_group_02: + '.NET 9 UWP Runtime Tests 3': SITE_SUFFIX: 'net9.0-UWP' UITEST_AUTOMATED_GROUP: 'RuntimeTests' UITEST_TEST_TIMEOUT: '20m' @@ -170,7 +171,7 @@ jobs: IS_RUNTIME_TESTS: true IS_UI_TESTS: false - net9_winui_runtimetests_group_00: + '.NET 9 WinUI Runtime Tests 1': SITE_SUFFIX: 'net9.0-WinUI' UITEST_AUTOMATED_GROUP: 'RuntimeTests' UITEST_TEST_TIMEOUT: '20m' @@ -179,7 +180,7 @@ jobs: IS_RUNTIME_TESTS: true IS_UI_TESTS: false - net9_winui_runtimetests_group_01: + '.NET 9 WinUI Runtime Tests 2': SITE_SUFFIX: 'net9.0-WinUI' UITEST_AUTOMATED_GROUP: 'RuntimeTests' UITEST_TEST_TIMEOUT: '20m' @@ -188,7 +189,7 @@ jobs: IS_RUNTIME_TESTS: true IS_UI_TESTS: false - net9_winui_runtimetests_group_02: + '.NET 9 WinUI Runtime Tests 3': SITE_SUFFIX: 'net9.0-WinUI' UITEST_AUTOMATED_GROUP: 'RuntimeTests' UITEST_TEST_TIMEOUT: '20m' @@ -213,10 +214,12 @@ jobs: nugetPackages: $(NUGET_PACKAGES) - task: NodeTool@0 + displayName: 'Install Node.js' inputs: versionSpec: '18.x' - task: DownloadBuildArtifacts@0 + displayName: 'Download WebAssembly binaries' inputs: artifactName: wasm-uitest-binaries downloadPath: '$(build.sourcesdirectory)/build' @@ -266,6 +269,7 @@ jobs: displayName: 'Running UI Tests' - task: PublishTestResults@2 + displayName: 'Publish UI Tests Results' condition: always() inputs: testResultsFiles: '$(build.sourcesdirectory)/build/TestResult-original.xml' @@ -277,6 +281,7 @@ jobs: searchFolder: '$(build.artifactstagingdirectory)/screenshots/wasm-automated' # https://github.com/microsoft/azure-pipelines-tasks/issues/10072 - task: PublishTestResults@2 + displayName: 'Publish Runtime Tests Results' condition: always() inputs: testResultsFiles: '$(build.sourcesdirectory)/build/RuntimeTestResults*.xml' @@ -287,6 +292,7 @@ jobs: failTaskOnMissingResultsFile: $(IS_RUNTIME_TESTS) - task: PublishBuildArtifacts@1 + displayName: 'Publish UI tests results' condition: always() retryCountOnTaskFailure: 3 inputs: @@ -295,6 +301,7 @@ jobs: ArtifactType: Container - task: PublishBuildArtifacts@1 + displayName: 'Publish failed tests results' condition: always() retryCountOnTaskFailure: 3 inputs: