diff --git a/build/ci/.azure-devops-package-netcoremobile.yml b/build/ci/.azure-devops-package-netcoremobile.yml index d334939a59f1..69c44fdaa89a 100644 --- a/build/ci/.azure-devops-package-netcoremobile.yml +++ b/build/ci/.azure-devops-package-netcoremobile.yml @@ -1,5 +1,7 @@ parameters: poolName: '' + UNO_UWP_BUILD: '' + XAML_FLAVOR_BUILD: '' jobs: - job: netcoremobile_win_build @@ -10,28 +12,11 @@ jobs: strategy: matrix: - UWP_NET8: - UNO_UWP_BUILD: true - XAML_FLAVOR_BUILD: UWP + NET8: UnoDisableNet7Mobile: true ZipFileTargetFramework: net8 - WinUI_NET8: - UNO_UWP_BUILD: false - XAML_FLAVOR_BUILD: WinUI - UnoDisableNet7Mobile: true - ZipFileTargetFramework: net8 - - UWP_NET7: - UNO_UWP_BUILD: true - XAML_FLAVOR_BUILD: UWP - UnoDisableNetCurrentMobile: true - UnoDisableNetCurrent: true - ZipFileTargetFramework: net7 - - WinUI_NET7: - UNO_UWP_BUILD: false - XAML_FLAVOR_BUILD: WinUI + NET7: UnoDisableNetCurrentMobile: true UnoDisableNetCurrent: true ZipFileTargetFramework: net7 @@ -49,6 +34,9 @@ jobs: # Use pre-defined local nuget cache for restore NUGET_PACKAGES: 'C:\NugetPackages' + UNO_UWP_BUILD: ${{ parameters.UNO_UWP_BUILD }} + XAML_FLAVOR_BUILD: ${{ parameters.XAML_FLAVOR_BUILD }} + steps: - checkout: self clean: true diff --git a/build/ci/.azure-devops-package-reference.yml b/build/ci/.azure-devops-package-reference.yml index cebcdabaf477..29a51f69b6f5 100644 --- a/build/ci/.azure-devops-package-reference.yml +++ b/build/ci/.azure-devops-package-reference.yml @@ -1,5 +1,7 @@ parameters: poolName: '' + UNO_UWP_BUILD: '' + XAML_FLAVOR_BUILD: '' jobs: - job: reference_package_build @@ -7,21 +9,14 @@ jobs: pool: ${{ parameters.poolName }} - strategy: - matrix: - UWP: - UNO_UWP_BUILD: true - XAML_FLAVOR_BUILD: UWP - - WinUI: - UNO_UWP_BUILD: false - XAML_FLAVOR_BUILD: WinUI - variables: CombinedConfiguration: Release|Any CPU CI_Build: true NUGET_PACKAGES: $(build.sourcesdirectory)/.nuget + UNO_UWP_BUILD: ${{ parameters.UNO_UWP_BUILD }} + XAML_FLAVOR_BUILD: ${{ parameters.XAML_FLAVOR_BUILD }} + steps: - checkout: self clean: true diff --git a/build/ci/.azure-devops-package-skia.yml b/build/ci/.azure-devops-package-skia.yml index d6a18e00f8f7..591a61324bff 100644 --- a/build/ci/.azure-devops-package-skia.yml +++ b/build/ci/.azure-devops-package-skia.yml @@ -1,5 +1,7 @@ parameters: poolName: '' + UNO_UWP_BUILD: '' + XAML_FLAVOR_BUILD: '' jobs: - job: skia_package_build @@ -8,16 +10,6 @@ jobs: pool: ${{ parameters.poolName }} - strategy: - matrix: - UWP: - UNO_UWP_BUILD: true - XAML_FLAVOR_BUILD: UWP - - WinUI: - UNO_UWP_BUILD: false - XAML_FLAVOR_BUILD: WinUI - variables: CombinedConfiguration: Release|Any CPU CI_Build: true @@ -27,6 +19,9 @@ jobs: # We're building packages on linux, so we need to enable WPF support EnableWindowsTargeting: true + UNO_UWP_BUILD: ${{ parameters.UNO_UWP_BUILD }} + XAML_FLAVOR_BUILD: ${{ parameters.XAML_FLAVOR_BUILD }} + steps: - checkout: self clean: true diff --git a/build/ci/.azure-devops-package-wasm.yml b/build/ci/.azure-devops-package-wasm.yml index 8d2708a88ce3..a58cb623c56d 100644 --- a/build/ci/.azure-devops-package-wasm.yml +++ b/build/ci/.azure-devops-package-wasm.yml @@ -1,5 +1,7 @@ parameters: poolName: '' + UNO_UWP_BUILD: '' + XAML_FLAVOR_BUILD: '' jobs: - job: wasm_package_build @@ -7,16 +9,6 @@ jobs: pool: ${{ parameters.poolName }} - strategy: - matrix: - UWP: - UNO_UWP_BUILD: true - XAML_FLAVOR_BUILD: UWP - - WinUI: - UNO_UWP_BUILD: false - XAML_FLAVOR_BUILD: WinUI - variables: CombinedConfiguration: Release|Any CPU CI_Build: true @@ -26,6 +18,9 @@ jobs: # Disabled until the wasm bootstrap can be updated to .NET 8 Pre 3 or later UnoDisableNetCurrentMobile: true + UNO_UWP_BUILD: ${{ parameters.UNO_UWP_BUILD }} + XAML_FLAVOR_BUILD: ${{ parameters.XAML_FLAVOR_BUILD }} + steps: - checkout: self clean: true diff --git a/build/ci/.azure-devops-skia-tests.yml b/build/ci/.azure-devops-skia-tests.yml index 30601264add9..d7ebc7be9a0e 100644 --- a/build/ci/.azure-devops-skia-tests.yml +++ b/build/ci/.azure-devops-skia-tests.yml @@ -2,6 +2,8 @@ parameters: vmImage: '' vmMacImage: '' poolName: '' + UNO_UWP_BUILD: '' + XAML_FLAVOR_BUILD: '' snapshotGroups: - 0 @@ -29,15 +31,8 @@ jobs: UnoDisableNetCurrentMobile: true UnoDisableNetCurrent: true - strategy: - matrix: - UWP: - UNO_UWP_BUILD: true - XAML_FLAVOR_BUILD: UWP - - WinUI: - UNO_UWP_BUILD: false - XAML_FLAVOR_BUILD: WinUI + UNO_UWP_BUILD: ${{ parameters.UNO_UWP_BUILD }} + XAML_FLAVOR_BUILD: ${{ parameters.XAML_FLAVOR_BUILD }} steps: - checkout: self @@ -116,11 +111,14 @@ jobs: vmImage: ${{ parameters.vmImage }} dependsOn: Skia_Tests_Build + condition: and(succeeded(), eq(variables['UNO_UWP_BUILD'], 'false')) variables: SamplesAppArtifactName: skia-gtk-samples-app-WinUI SamplesAppArtifactPath: $(build.sourcesdirectory)/build/$(SamplesAppArtifactName) SnapshotGroupCount: ${{ parameters.snapshotGroupCount }} + UNO_UWP_BUILD: ${{ parameters.UNO_UWP_BUILD }} + XAML_FLAVOR_BUILD: ${{ parameters.XAML_FLAVOR_BUILD }} strategy: matrix: @@ -160,39 +158,15 @@ jobs: strategy: matrix: - UWP_GROUP_0: - UNO_UWP_BUILD: true - XAML_FLAVOR_BUILD: UWP + GROUP_0: UITEST_RUNTIME_TEST_GROUP: 0 UITEST_RUNTIME_TEST_GROUP_COUNT: 3 - UWP_GROUP_1: - UNO_UWP_BUILD: true - XAML_FLAVOR_BUILD: UWP + GROUP_1: UITEST_RUNTIME_TEST_GROUP: 1 UITEST_RUNTIME_TEST_GROUP_COUNT: 3 - UWP_GROUP_2: - UNO_UWP_BUILD: true - XAML_FLAVOR_BUILD: UWP - UITEST_RUNTIME_TEST_GROUP: 2 - UITEST_RUNTIME_TEST_GROUP_COUNT: 3 - - WinUI_GROUP_0: - UNO_UWP_BUILD: false - XAML_FLAVOR_BUILD: WinUI - UITEST_RUNTIME_TEST_GROUP: 0 - UITEST_RUNTIME_TEST_GROUP_COUNT: 3 - - WinUI_GROUP_1: - UNO_UWP_BUILD: false - XAML_FLAVOR_BUILD: WinUI - UITEST_RUNTIME_TEST_GROUP: 1 - UITEST_RUNTIME_TEST_GROUP_COUNT: 3 - - WinUI_GROUP_2: - UNO_UWP_BUILD: false - XAML_FLAVOR_BUILD: WinUI + GROUP_2: UITEST_RUNTIME_TEST_GROUP: 2 UITEST_RUNTIME_TEST_GROUP_COUNT: 3 @@ -209,6 +183,9 @@ jobs: UnoDisableNetCurrentMobile: true UnoDisableNetCurrent: true + UNO_UWP_BUILD: ${{ parameters.UNO_UWP_BUILD }} + XAML_FLAVOR_BUILD: ${{ parameters.XAML_FLAVOR_BUILD }} + steps: - template: templates/download-winui-converted-tree.yml @@ -262,11 +239,15 @@ jobs: vmImage: ${{ parameters.vmImage }} dependsOn: Skia_Tests_Build + condition: and(succeeded(), eq(variables['UNO_UWP_BUILD'], 'false')) variables: SamplesAppArtifactName: skia-wpf-samples-app-WinUI SamplesAppArtifactPath: $(build.sourcesdirectory)/build/$(SamplesAppArtifactName) + UNO_UWP_BUILD: ${{ parameters.UNO_UWP_BUILD }} + XAML_FLAVOR_BUILD: ${{ parameters.XAML_FLAVOR_BUILD }} + steps: - task: DownloadBuildArtifacts@0 inputs: @@ -296,22 +277,15 @@ jobs: pool: vmImage: ${{ parameters.vmImage }} - strategy: - matrix: - UWP: - UNO_UWP_BUILD: true - XAML_FLAVOR_BUILD: UWP - - WinUI: - UNO_UWP_BUILD: false - XAML_FLAVOR_BUILD: WinUI - dependsOn: Skia_Tests_Build variables: SamplesAppArtifactName: skia-wpf-samples-app-$(XAML_FLAVOR_BUILD) SamplesAppArtifactPath: $(build.sourcesdirectory)/build/$(SamplesAppArtifactName) + UNO_UWP_BUILD: ${{ parameters.UNO_UWP_BUILD }} + XAML_FLAVOR_BUILD: ${{ parameters.XAML_FLAVOR_BUILD }} + steps: - task: DownloadBuildArtifacts@0 inputs: @@ -337,16 +311,19 @@ jobs: - job: Uno_Islands_Skia_Wpf_Runtime_Tests_Build displayName: 'Run Uno Islands Skia WPF Runtime Tests' timeoutInMinutes: 45 - + condition: and(succeeded(), eq(variables['UNO_UWP_BUILD'], 'false')) pool: vmImage: ${{ parameters.vmImage }} dependsOn: Skia_Tests_Build variables: - SamplesAppArtifactName: uno-islands-skia-wpf-samples-app-UWP + SamplesAppArtifactName: uno-islands-skia-wpf-samples-app-WinUI SamplesAppArtifactPath: $(build.sourcesdirectory)/build/$(SamplesAppArtifactName) + UNO_UWP_BUILD: ${{ parameters.UNO_UWP_BUILD }} + XAML_FLAVOR_BUILD: ${{ parameters.XAML_FLAVOR_BUILD }} + steps: - task: DownloadBuildArtifacts@0 inputs: diff --git a/build/ci/.azure-devops-stages.yml b/build/ci/.azure-devops-stages.yml index 1a9e46910cf0..c174940ab7a5 100644 --- a/build/ci/.azure-devops-stages.yml +++ b/build/ci/.azure-devops-stages.yml @@ -28,8 +28,8 @@ stages: parameters: poolName: '$(windowsScaledPool)' -- stage: binaries_build - displayName: Build Binaries +- stage: binaries_build_uwp + displayName: Build Binaries UWP dependsOn: - Setup - convert_tree @@ -38,23 +38,62 @@ stages: - template: .azure-devops-package-netcoremobile.yml parameters: poolName: '$(windowsScaledPool)' + UNO_UWP_BUILD: true + XAML_FLAVOR_BUILD: UWP - template: .azure-devops-package-wasm.yml parameters: poolName: '$(linuxScaledPool)' + UNO_UWP_BUILD: true + XAML_FLAVOR_BUILD: UWP + + - template: .azure-devops-package-reference.yml + parameters: + poolName: '$(linuxScaledPool)' + UNO_UWP_BUILD: true + XAML_FLAVOR_BUILD: UWP + + - template: .azure-devops-package-skia.yml + parameters: + poolName: '$(linuxScaledPool)' + UNO_UWP_BUILD: true + XAML_FLAVOR_BUILD: UWP + +- stage: binaries_build_winui + displayName: Build Binaries WinUI + dependsOn: + - Setup + + jobs: + - template: .azure-devops-package-netcoremobile.yml + parameters: + poolName: '$(windowsScaledPool)' + UNO_UWP_BUILD: false + XAML_FLAVOR_BUILD: WinUI + - template: .azure-devops-package-wasm.yml + parameters: + poolName: '$(linuxScaledPool)' + UNO_UWP_BUILD: false + XAML_FLAVOR_BUILD: WinUI + - template: .azure-devops-package-reference.yml parameters: poolName: '$(linuxScaledPool)' - + UNO_UWP_BUILD: false + XAML_FLAVOR_BUILD: WinUI + - template: .azure-devops-package-skia.yml parameters: poolName: '$(linuxScaledPool)' + UNO_UWP_BUILD: false + XAML_FLAVOR_BUILD: WinUI - stage: packages_build displayName: Generate Packages dependsOn: - - binaries_build + - binaries_build_uwp + - binaries_build_winui jobs: - template: .azure-devops-package.yml @@ -70,7 +109,8 @@ stages: - stage: unit_tests displayName: Tests - Unit dependsOn: - - binaries_build + - binaries_build_uwp + - binaries_build_winui - convert_tree jobs: @@ -90,8 +130,8 @@ stages: parameters: poolName: '$(linuxScaledPool)' -- stage: skia_tests - displayName: Tests - Skia +- stage: skia_tests_uwp + displayName: Tests - Skia UWP dependsOn: - Setup - convert_tree @@ -102,7 +142,23 @@ stages: vmImage: '$(windows2022HostedVMImage)' vmMacImage: '$(macOSVMImage)' poolName: '$(windowsScaledPool)' - + UNO_UWP_BUILD: true + XAML_FLAVOR_BUILD: UWP + +- stage: skia_tests_winui + displayName: Tests - Skia WinUI + dependsOn: + - Setup + + jobs: + - template: .azure-devops-skia-tests.yml + parameters: + vmImage: '$(windows2022HostedVMImage)' + vmMacImage: '$(macOSVMImage)' + poolName: '$(windowsScaledPool)' + UNO_UWP_BUILD: false + XAML_FLAVOR_BUILD: WinUI + - stage: macos_tests displayName: Tests - macOS dependsOn: @@ -161,7 +217,7 @@ stages: - ios_tests - android_tests - macos_tests - - skia_tests + - skia_tests_winui jobs: - template: .azure-devops-screenshot-compare.yml