Skip to content

Commit

Permalink
Merge pull request #18135 from unoplatform/dev/jela/net9-wasm
Browse files Browse the repository at this point in the history
Misc net9 wasm updates
  • Loading branch information
jeromelaban authored Sep 20, 2024
2 parents 10aed0d + 0e601f2 commit 56f9237
Show file tree
Hide file tree
Showing 102 changed files with 2,892 additions and 372 deletions.
40 changes: 36 additions & 4 deletions build/ci/.azure-devops-project-template-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,17 @@ jobs:

pool: ${{ parameters.poolName }}

strategy:
matrix:
group_0:
TestGroup: '0'
group_1:
TestGroup: '1'
group_2:
TestGroup: '2'
group_3:
TestGroup: '3'

steps:
- task: DownloadBuildArtifacts@0
inputs:
Expand All @@ -27,8 +38,9 @@ jobs:
- task: PowerShell@2
displayName: Run Project Templates Tests
inputs:
targetType: 'filePath'
filePath: build\test-scripts\run-netcore-mobile-template-tests.ps1
targetType: 'inline'
script: |
build\test-scripts\run-netcore-mobile-template-tests.ps1 -TestGroup "$(TestGroup)"
pwsh: true # Use PowerShell core (required for IsWindows to run)
env:
BUILD_SOURCESDIRECTORY: $(BUILD.SOURCESDIRECTORY)
Expand All @@ -49,6 +61,17 @@ jobs:
pool:
vmImage: ${{ parameters.macOSImageName }}

strategy:
matrix:
group_0:
TestGroup: '0'
group_1:
TestGroup: '1'
group_2:
TestGroup: '2'
group_3:
TestGroup: '3'

steps:
- task: DownloadBuildArtifacts@0
inputs:
Expand All @@ -65,7 +88,7 @@ jobs:
- powershell: cp $(System.ArtifactsDirectory)/Nuget_Packages/vslatest/*.nupkg $(Build.SourcesDirectory)/src/PackageCache
displayName: Copy Artifacts to PackageCache

- powershell: build/test-scripts/run-netcore-mobile-template-tests.ps1
- powershell: build/test-scripts/run-netcore-mobile-template-tests.ps1 -TestGroup "$(TestGroup)"
displayName: Run Project Templates Tests
env:
BUILD_SOURCESDIRECTORY: $(BUILD.SOURCESDIRECTORY)
Expand All @@ -86,6 +109,15 @@ jobs:

container: unoplatform/wasm-build:2.3

strategy:
matrix:
group_0:
TestGroup: '0'
group_1:
TestGroup: '1'
group_2:
TestGroup: '2'

steps:
- task: DownloadBuildArtifacts@0
inputs:
Expand All @@ -102,7 +134,7 @@ jobs:

- template: templates/dotnet-install.yml

- pwsh: build/test-scripts/run-net7-template-linux.ps1
- pwsh: build/test-scripts/run-net7-template-linux.ps1 -TestGroup "$(TestGroup)"
displayName: Run Project Templates Tests
env:
BUILD_SOURCESDIRECTORY: $(BUILD.SOURCESDIRECTORY)
Expand Down
46 changes: 23 additions & 23 deletions build/ci/.azure-devops-wasm-uitests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,16 @@ jobs:
nugetPackages: $(NUGET_PACKAGES)

- bash: |
dotnet msbuild /r /nr:false /p:Configuration=Release /p:UnoTargetFrameworkOverride=net8.0 src/SamplesApp/SamplesApp.Wasm/SamplesApp.Wasm.csproj /bl:$(build.artifactstagingdirectory)/build-wasm-$(XAML_FLAVOR_BUILD)-uitest-net8-$(GitVersion.FullSemVer).binlog
dotnet publish /r /nr:false /p:Configuration=Release /p:UnoTargetFrameworkOverride=net9.0 src/SamplesApp/SamplesApp.Wasm/SamplesApp.Wasm.csproj /bl:$(build.artifactstagingdirectory)/build-wasm-$(XAML_FLAVOR_BUILD)-uitest-net9-$(GitVersion.FullSemVer).binlog
displayName: 'Build sample app (net8.0)'
displayName: 'Build sample app (net9.0)'
- task: CopyFiles@2
displayName: 'Publish Wasm Site (net8.0)'
displayName: 'Publish Wasm Site (net9.0)'
inputs:
SourceFolder: $(build.sourcesdirectory)/src/SamplesApp/SamplesApp.Wasm/bin/Release/net8.0/dist
SourceFolder: $(build.sourcesdirectory)/src/SamplesApp/SamplesApp.Wasm/bin/Release/net9.0/browser-wasm/publish/wwwroot
Contents: '**/*.*'
TargetFolder: $(build.artifactstagingdirectory)/site-net8.0-$(XAML_FLAVOR_BUILD)
TargetFolder: $(build.artifactstagingdirectory)/site-net9.0-$(XAML_FLAVOR_BUILD)
CleanTargetFolder: false
OverWrite: false
flattenFolders: false
Expand All @@ -69,7 +69,7 @@ jobs:

variables:
NUGET_PACKAGES: $(build.sourcesdirectory)/.nuget
SITE_SUFFIX: 'net8.0'
SITE_SUFFIX: 'net9.0'

steps:
- checkout: self
Expand All @@ -90,7 +90,7 @@ jobs:
dotnet tool uninstall dotnet-serve --tool-path $BUILD_SOURCESDIRECTORY/build/tools || true
dotnet tool install dotnet-serve --version 1.10.140 --tool-path $BUILD_SOURCESDIRECTORY/build/tools || true
export PATH="$PATH:$BUILD_SOURCESDIRECTORY/build/tools"
$BUILD_SOURCESDIRECTORY/build/tools/dotnet-serve -p 8000 -d "$BUILD_SOURCESDIRECTORY/build/wasm-uitest-binaries/site-net8.0-UWP" &
$BUILD_SOURCESDIRECTORY/build/tools/dotnet-serve -p 8000 -d "$BUILD_SOURCESDIRECTORY/build/wasm-uitest-binaries/site-net9.0-UWP" &
cd $BUILD_SOURCESDIRECTORY/src/SamplesApp/SamplesApp.Wasm.UITests
npm install
node app
Expand Down Expand Up @@ -129,67 +129,67 @@ jobs:

strategy:
matrix:
net8_default:
SITE_SUFFIX: 'net8.0-UWP'
net9_default:
SITE_SUFFIX: 'net9.0-UWP'
UITEST_AUTOMATED_GROUP: 'Default'
UITEST_TEST_TIMEOUT: '120s'
IS_RUNTIME_TESTS: false
IS_UI_TESTS: true

net8_benchmarks:
SITE_SUFFIX: 'net8.0-WinUI'
net9_benchmarks:
SITE_SUFFIX: 'net9.0-WinUI'
UITEST_AUTOMATED_GROUP: 'Benchmarks'
UITEST_TEST_TIMEOUT: '15m'
IS_RUNTIME_TESTS: false
IS_UI_TESTS: true

net8_uwp_runtimetests_group_00:
SITE_SUFFIX: 'net8.0-UWP'
net9_uwp_runtimetests_group_00:
SITE_SUFFIX: 'net9.0-UWP'
UITEST_AUTOMATED_GROUP: 'RuntimeTests'
UITEST_TEST_TIMEOUT: '20m'
UITEST_RUNTIME_TEST_GROUP: 0
UITEST_RUNTIME_TEST_GROUP_COUNT: 3
IS_RUNTIME_TESTS: true
IS_UI_TESTS: false

net8_uwp_runtimetests_group_01:
SITE_SUFFIX: 'net8.0-UWP'
net9_uwp_runtimetests_group_01:
SITE_SUFFIX: 'net9.0-UWP'
UITEST_AUTOMATED_GROUP: 'RuntimeTests'
UITEST_TEST_TIMEOUT: '20m'
UITEST_RUNTIME_TEST_GROUP: 1
UITEST_RUNTIME_TEST_GROUP_COUNT: 3
IS_RUNTIME_TESTS: true
IS_UI_TESTS: false

net8_uwp_runtimetests_group_02:
SITE_SUFFIX: 'net8.0-UWP'
net9_uwp_runtimetests_group_02:
SITE_SUFFIX: 'net9.0-UWP'
UITEST_AUTOMATED_GROUP: 'RuntimeTests'
UITEST_TEST_TIMEOUT: '20m'
UITEST_RUNTIME_TEST_GROUP: 2
UITEST_RUNTIME_TEST_GROUP_COUNT: 3
IS_RUNTIME_TESTS: true
IS_UI_TESTS: false

net8_winui_runtimetests_group_00:
SITE_SUFFIX: 'net8.0-WinUI'
net9_winui_runtimetests_group_00:
SITE_SUFFIX: 'net9.0-WinUI'
UITEST_AUTOMATED_GROUP: 'RuntimeTests'
UITEST_TEST_TIMEOUT: '20m'
UITEST_RUNTIME_TEST_GROUP: 0
UITEST_RUNTIME_TEST_GROUP_COUNT: 3
IS_RUNTIME_TESTS: true
IS_UI_TESTS: false

net8_winui_runtimetests_group_01:
SITE_SUFFIX: 'net8.0-WinUI'
net9_winui_runtimetests_group_01:
SITE_SUFFIX: 'net9.0-WinUI'
UITEST_AUTOMATED_GROUP: 'RuntimeTests'
UITEST_TEST_TIMEOUT: '20m'
UITEST_RUNTIME_TEST_GROUP: 1
UITEST_RUNTIME_TEST_GROUP_COUNT: 3
IS_RUNTIME_TESTS: true
IS_UI_TESTS: false

net8_winui_runtimetests_group_02:
SITE_SUFFIX: 'net8.0-WinUI'
net9_winui_runtimetests_group_02:
SITE_SUFFIX: 'net9.0-WinUI'
UITEST_AUTOMATED_GROUP: 'RuntimeTests'
UITEST_TEST_TIMEOUT: '20m'
UITEST_RUNTIME_TEST_GROUP: 2
Expand Down
2 changes: 1 addition & 1 deletion build/ci/templates/dotnet-mobile-install-linux.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
parameters:
UnoCheck_Version: '1.26.0-dev.28'
UnoCheck_Version: '1.26.0-dev.40'

steps:

Expand Down
2 changes: 1 addition & 1 deletion build/ci/templates/dotnet-mobile-install-mac.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
parameters:
UnoCheck_Version: '1.26.0-dev.28'
UnoCheck_Version: '1.26.0-dev.40'

steps:

Expand Down
2 changes: 1 addition & 1 deletion build/ci/templates/dotnet-mobile-install-windows.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
parameters:
UnoCheck_Version: '1.26.0-dev.28'
UnoCheck_Version: '1.26.0-dev.40'

steps:

Expand Down
62 changes: 38 additions & 24 deletions build/test-scripts/run-net7-template-linux.ps1
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
Set-PSDebug -Trace 1
param(
$TestGroup
)

Set-PSDebug -Trace 1

$ErrorActionPreference = 'Stop'

Expand Down Expand Up @@ -33,45 +37,48 @@ Get-ChildItem -Recurse -Filter global.json | ForEach-Object {
$projects =
@(
# 5.0 and earlier
@("UnoAppWinUILinuxValidation/UnoAppWinUILinuxValidation.Wasm/UnoAppWinUILinuxValidation.Wasm.csproj", ""),
@("UnoAppWinUILinuxValidation/UnoAppWinUILinuxValidation.Skia.Gtk/UnoAppWinUILinuxValidation.Skia.Gtk.csproj", ""),
@("UnoAppWinUILinuxValidation/UnoAppWinUILinuxValidation.Skia.Linux.FrameBuffer/UnoAppWinUILinuxValidation.Skia.Linux.FrameBuffer.csproj", ""),
@(0, "UnoAppWinUILinuxValidation/UnoAppWinUILinuxValidation.Wasm/UnoAppWinUILinuxValidation.Wasm.csproj", ""),
@(0, "UnoAppWinUILinuxValidation/UnoAppWinUILinuxValidation.Skia.Gtk/UnoAppWinUILinuxValidation.Skia.Gtk.csproj", ""),
@(0, "UnoAppWinUILinuxValidation/UnoAppWinUILinuxValidation.Skia.Linux.FrameBuffer/UnoAppWinUILinuxValidation.Skia.Linux.FrameBuffer.csproj", ""),

# 5.1 Blank
@("5.1/uno51blank/uno51blank.Skia.Gtk/uno51blank.Skia.Gtk.csproj", ""),
@("5.1/uno51blank/uno51blank.Skia.Linux.FrameBuffer/uno51blank.Skia.Linux.FrameBuffer.csproj", ""),
@("5.1/uno51blank/uno51blank.Skia.WPF/uno51blank.Skia.WPF.csproj", ""),
@("5.1/uno51blank/uno51blank.Wasm/uno51blank.Wasm.csproj", ""),
@(0, "5.1/uno51blank/uno51blank.Skia.Gtk/uno51blank.Skia.Gtk.csproj", ""),
@(0, "5.1/uno51blank/uno51blank.Skia.Linux.FrameBuffer/uno51blank.Skia.Linux.FrameBuffer.csproj", ""),
@(0, "5.1/uno51blank/uno51blank.Skia.WPF/uno51blank.Skia.WPF.csproj", ""),
@(0, "5.1/uno51blank/uno51blank.Wasm/uno51blank.Wasm.csproj", ""),

# 5.1 Recommended
@("5.1/uno51recommended/uno51recommended.Skia.Gtk/uno51recommended.Skia.Gtk.csproj", ""),
@("5.1/uno51recommended/uno51recommended.Skia.Linux.FrameBuffer/uno51recommended.Skia.Linux.FrameBuffer.csproj", ""),
@("5.1/uno51recommended/uno51recommended.Skia.WPF/uno51recommended.Skia.WPF.csproj", ""),
@("5.1/uno51recommended/uno51recommended.Wasm/uno51recommended.Wasm.csproj", ""),
@("5.1/uno51recommended/uno51recommended.Server/uno51recommended.Server.csproj", ""),
@("5.1/uno51recommended/uno51recommended.Tests/uno51recommended.Tests.csproj", ""),
@("5.1/uno51recommended/uno51recommended.UITests/uno51recommended.UITests.csproj", ""),
@(0, "5.1/uno51recommended/uno51recommended.Skia.Gtk/uno51recommended.Skia.Gtk.csproj", ""),
@(0, "5.1/uno51recommended/uno51recommended.Skia.Linux.FrameBuffer/uno51recommended.Skia.Linux.FrameBuffer.csproj", ""),
@(0, "5.1/uno51recommended/uno51recommended.Skia.WPF/uno51recommended.Skia.WPF.csproj", ""),
@(0, "5.1/uno51recommended/uno51recommended.Wasm/uno51recommended.Wasm.csproj", ""),
@(0, "5.1/uno51recommended/uno51recommended.Server/uno51recommended.Server.csproj", ""),
@(0, "5.1/uno51recommended/uno51recommended.Tests/uno51recommended.Tests.csproj", ""),
@(0, "5.1/uno51recommended/uno51recommended.UITests/uno51recommended.UITests.csproj", ""),

# 5.2 Blank
@("5.2/uno52blank/uno52blank/uno52blank.csproj", ""),
@(1, "5.2/uno52blank/uno52blank/uno52blank.csproj", ""),

# 5.2 Blank SkiaSharp 3
@("5.2/uno52blank/uno52blank/uno52blank.csproj", "-p:SkiaSharpVersion=3.0.0-preview.3.1"),
@(1, "5.2/uno52blank/uno52blank/uno52blank.csproj", "-p:SkiaSharpVersion=3.0.0-preview.3.1"),

# 5.2 Blank Canvas3DGL
@("5.2/uno52blank/uno52blank/uno52blank.csproj", "-p:UnoFeatures=Canvas3DGL"),
@(1, "5.2/uno52blank/uno52blank/uno52blank.csproj", "-p:UnoFeatures=Canvas3DGL"),

# 5.2 Uno Lib
@("5.2/uno52Lib/uno52Lib.csproj", ""),
@(1, "5.2/uno52Lib/uno52Lib.csproj", ""),

# 5.2 Uno NuGet Lib
@("5.2/uno52NuGetLib/uno52NuGetLib.csproj", ""),
@(1, "5.2/uno52NuGetLib/uno52NuGetLib.csproj", ""),

# 5.2 Uno SingleProject Lib
@("5.2/uno52SingleProjectLib/uno52SingleProjectLib.csproj", ""),
@(1, "5.2/uno52SingleProjectLib/uno52SingleProjectLib.csproj", ""),

# 5.2 Uno App with Library reference
@("5.2/uno52AppWithLib/uno52AppWithLib/uno52AppWithLib.csproj", "")
@(1, "5.2/uno52AppWithLib/uno52AppWithLib/uno52AppWithLib.csproj", ""),

# 5.3 Blank with net9
@(2, "5.3/uno53net9blank/uno53net9blank/uno53net9blank.csproj", "")

## Note for contributors
##
Expand All @@ -81,8 +88,15 @@ $projects =

for($i = 0; $i -lt $projects.Length; $i++)
{
$projectPath=$projects[$i][0];
$projectOptions=$projects[$i][1];
$projectTestGroup=$projects[$i][0];
$projectPath=$projects[$i][1];
$projectOptions=$projects[$i][2];

if ($TestGroup -ne $projectTestGroup)
{
Write-Host "Skipping test $projectPath for group $projectTestGroup"
continue
}

Write-Host "Building Debug $projectPath with $projectOptions"
dotnet build $debug "$projectPath" $projectOptions -bl:binlogs/$projectPath/debug.binlog
Expand Down
Loading

0 comments on commit 56f9237

Please sign in to comment.