Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Misc net9 wasm updates #18135

Merged
merged 38 commits into from
Sep 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
b45250c
chore: Bump iOS min version
jeromelaban Sep 13, 2024
9380ec9
chore: Mark RethrowNativeExceptions as deprecated
jeromelaban Sep 13, 2024
d3312b2
feat: Add Microsoft.NET.Sdk.WebAssembly support
jeromelaban Sep 13, 2024
5ef6367
chore: Use net9 build
jeromelaban Sep 13, 2024
1c9b371
chore: Adjust publish
jeromelaban Sep 13, 2024
77e20b8
chore: Adjust wasm sample app target
jeromelaban Sep 13, 2024
d3db2ea
chore: Adjust publish
jeromelaban Sep 14, 2024
f932bad
chore: Bump roslyn
jeromelaban Sep 14, 2024
27ab643
chore: Adjust publish path
jeromelaban Sep 14, 2024
b75c5f2
chore: adjust for mono_bind_static_method
jeromelaban Sep 14, 2024
0220ecc
chore: Move samples to jsimport
jeromelaban Sep 14, 2024
daa80d7
chore: Adjust async helper
jeromelaban Sep 16, 2024
b17a359
chore: Adjust project transitive assets copy for wasm
jeromelaban Sep 16, 2024
071f009
chore: Adjust linking for samples app wasm
jeromelaban Sep 16, 2024
6405f7c
chore: Recursive get output items
jeromelaban Sep 17, 2024
d5a9f16
chore: Fix transitive assets support
jeromelaban Sep 17, 2024
102ff63
chore: Adjust for threading
jeromelaban Sep 17, 2024
76cbc14
chore: Bump fluent font
jeromelaban Sep 17, 2024
e4d72ba
chore: Adjust ICU for testing
jeromelaban Sep 17, 2024
465e91e
chore: Workaround fluent fonts import issue
jeromelaban Sep 17, 2024
1e1be1d
chore: Disable culture validation on wasm net9
jeromelaban Sep 17, 2024
fd61e11
chore: Adjust sdk override for net9 wasm
jeromelaban Sep 17, 2024
708d2e2
chore: adjust supported platform for case sensitivity
jeromelaban Sep 17, 2024
c2cfa92
chore: Adjust case sensitive platform analyzer
jeromelaban Sep 18, 2024
9f51717
chore: Disable StaticWebAssetsEnabled for libraries
jeromelaban Sep 18, 2024
5437285
chore: Add net9 sample validation
jeromelaban Sep 18, 2024
9994085
chore: Adjust template tests run
jeromelaban Sep 18, 2024
6ab227a
chore: Adjust line endings
jeromelaban Sep 18, 2024
2493958
chore: Adjust test groups
jeromelaban Sep 18, 2024
ac00dc7
chore: Adjust startup path
jeromelaban Sep 18, 2024
b62bc8c
chore: Update to latest bootstrapper, adjust windows build
jeromelaban Sep 19, 2024
9e3db72
chore: Adjust net9 test, groups count
jeromelaban Sep 19, 2024
dae21b3
chore: Adjust group
jeromelaban Sep 19, 2024
adf64fa
chore: Adjust wasm sdk setup for net9
jeromelaban Sep 20, 2024
b922e91
chore: Adjust net wasm validation, adjust Microsoft.AspNetCore.App re…
jeromelaban Sep 20, 2024
fd322bc
chore: Update to latest bootstrapper
jeromelaban Sep 20, 2024
dc6bacc
chore: Include AOT workaround for net9 wasn
jeromelaban Sep 20, 2024
0e601f2
chore: Bump to latest net9 bootstrap
jeromelaban Sep 20, 2024
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
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
Loading