-
Notifications
You must be signed in to change notification settings - Fork 5.3k
[browser] Support CoreCLR in WebAssembly SDK #122495
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
Merged
Merged
Changes from 31 commits
Commits
Show all changes
37 commits
Select commit
Hold shift + click to select a range
2cd8db0
Copy native wasm files to runtime pack
maraf 0f58a1c
Register CoreCLR.sfxproj to get RuntimeList.xml
maraf 301d804
WasmTestRunner and WasmSymbolicator
maraf 61dbd7f
Don't import Mono NativeBuild targets for CoreCLR
maraf 8066b26
Mono Sample with CoreCLR
maraf 7d2620b
Defaults for CoreCLR on wasm
maraf 15a1b5d
Placeholder for CoreCLR native build
maraf ff67465
Append .dll extention to mainAssemblyName
maraf 8212ed6
Copy test runners
maraf 5d4e456
Merge remote-tracking branch 'upstream/main' into BrowserCoreClrInTree
maraf 55f90fb
Wasm.Build.Tests SDK
maraf 63af39e
Skip InstallWorkloadFromArtifacts if no workloads selected
maraf 2a736b1
WBT running main
maraf a7ee811
Prepare for skipping files from coreclr runtime pack
maraf 84b8780
Pass DefaultTargetFramework to running browser
maraf 5117784
Default to TestUsingWorkloads=false when RuntimeFlavor=CoreCLR
maraf 54bc98f
Publish build artifacts
maraf 03d4bcd
Include SDK related packages in coreclr-packages.proj
maraf e4baffa
Build Wasm.Build.Tests on CI for CoreCLR
maraf e2717cb
Build Wasm.Build.Tests on CI for CoreCLR (unique name)
maraf 1c01837
Fix paths
maraf e9918f1
Build Wasm.Build.Tests on CI for CoreCLR (configuration=debug)
maraf ecdf53e
Build Wasm.Build.Tests on CI for CoreCLR (TestUsingWorkloads=false)
maraf 5bbf891
Typo
maraf 4e6dfa6
Fix RuntimeFlavor for build. Apply -trait CoreCLR. Reduce Scenarios f…
maraf 7a53945
RuntimeFlavor for WBT on Mono
maraf 8329823
BundlerFriendly WBT only on Mono
maraf ed443f1
RuntimeFlavor=Mono for linker-tests
maraf 22c1723
testRunNamePrefixSuffix for CoreCLR
maraf 23f7560
Merge branch 'main' into BrowserCoreClrInTree
maraf db6086e
Update eng/testing/tests.browser.targets
maraf 59968bd
Async main. Assert runtime pack name. Remove unused MSBuild value
maraf 6d491ed
Merge branch 'main' into BrowserCoreClrInTree
maraf 731d877
fix?
pavelsavara 4eef793
disable asyncV2 for now
pavelsavara 48f9df3
KnownWebAssemblySdkPack
maraf 7fdab9e
fix
pavelsavara File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
128 changes: 128 additions & 0 deletions
128
eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,128 @@ | ||
| # Depends on other builds to get runtime packs, and nugets | ||
| # And then runs Wasm.Build.Tests | ||
| parameters: | ||
| alwaysRun: false | ||
| isExtraPlatformsBuild: false | ||
| isWasmOnlyBuild: false | ||
| platforms: [] | ||
| shouldContinueOnError: false | ||
| extraBuildArgs: '' | ||
|
|
||
| jobs: | ||
|
|
||
| - ${{ each platform in parameters.platforms }}: | ||
| - template: /eng/pipelines/common/platform-matrix.yml | ||
| parameters: | ||
| jobTemplate: /eng/pipelines/common/global-build-job.yml | ||
| helixQueuesTemplate: /eng/pipelines/libraries/helix-queues-setup.yml | ||
| buildConfig: Debug | ||
| runtimeFlavor: CoreCLR | ||
| platforms: | ||
| - ${{ platform }} | ||
| shouldContinueOnError: ${{ parameters.shouldContinueOnError }} | ||
| variables: | ||
| # map dependencies variables to local variables | ||
| - name: alwaysRunVar | ||
| value: ${{ parameters.alwaysRun }} | ||
| - name: workloadsTestPreviousVersionsVar | ||
| value: false | ||
| # value: $[ | ||
| # or( | ||
| # eq(variables['Build.SourceBranchName'], 'main'), | ||
| # eq(variables['System.PullRequest.TargetBranch'], 'main')) | ||
| # ] | ||
| - name: wbtProjectArg | ||
| ${{ if eq(platform, 'browser_wasm_win') }}: | ||
| value: '-projects' | ||
| ${{ else }}: | ||
| value: '--projects' | ||
| - name: shouldRunOnDefaultPipelines | ||
| value: $(shouldRunWasmBuildTestsOnDefaultPipeline) | ||
|
|
||
| jobParameters: | ||
| dependsOn: | ||
| - ${{ if eq(platform, 'browser_wasm') }}: | ||
| - build_browser_wasm_linux_Debug_AllSubsets_CoreCLR | ||
| - ${{ if eq(platform, 'browser_wasm_win') }}: | ||
| - build_browser_wasm_windows_Debug_AllSubsets_CoreCLR | ||
| isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }} | ||
| testGroup: innerloop | ||
| nameSuffix: CoreCLR_WasmBuildTests | ||
|
|
||
| preBuildSteps: | ||
| # Download single threaded runtime packs, and tasks needed to build WBT | ||
| - task: DownloadBuildArtifacts@0 | ||
| displayName: Download built nugets for singlethreaded runtime | ||
| inputs: | ||
| buildType: current | ||
| artifactName: 'BuildArtifacts_browser_wasm_$(_hostedOs)_Debug_AllSubsets_CoreCLR' | ||
| downloadType: single | ||
| downloadPath: '$(Build.SourcesDirectory)/artifacts' | ||
|
|
||
| - task: CopyFiles@2 | ||
| displayName: Copy single threaded assets | ||
| inputs: | ||
| SourceFolder: '$(Build.SourcesDirectory)/artifacts/BuildArtifacts_browser_wasm_$(_hostedOs)_Debug_AllSubsets_CoreCLR' | ||
| TargetFolder: '$(Build.SourcesDirectory)/artifacts' | ||
| CleanTargetFolder: false | ||
|
|
||
| # Download for multi-threaded | ||
| # - task: DownloadBuildArtifacts@0 | ||
| # displayName: Download built nugets for multi-threaded runtime | ||
| # inputs: | ||
| # buildType: current | ||
| # artifactName: BuildArtifacts_browser_wasm_$(_hostedOs)_Release_MultiThreaded_BuildOnly | ||
| # downloadType: single | ||
| # downloadPath: '$(Build.SourcesDirectory)/artifacts' | ||
|
|
||
| # - task: CopyFiles@2 | ||
| # displayName: Copy multithreading runtime pack | ||
| # inputs: | ||
| # SourceFolder: '$(Build.SourcesDirectory)/artifacts/BuildArtifacts_browser_wasm_$(_hostedOs)_Release_MultiThreaded_BuildOnly' | ||
| # Contents: packages/$(_BuildConfig)/Shipping/Microsoft.NETCore.App.Runtime.Mono.multithread.* | ||
| # TargetFolder: '$(Build.SourcesDirectory)/artifacts' | ||
| # CleanTargetFolder: false | ||
|
|
||
| # Download WBT - TODO-WASM: This points to "mono" build, altough | ||
| - task: DownloadBuildArtifacts@0 | ||
| displayName: Download Wasm.Build.Tests | ||
| inputs: | ||
| buildType: current | ||
| artifactName: WasmBuildTests_$(_hostedOs)_AllSubsets_CoreCLR | ||
| downloadType: single | ||
| downloadPath: '$(Build.SourcesDirectory)/artifacts' | ||
|
|
||
| - task: CopyFiles@2 | ||
| displayName: Copy Wasm.Build.Tests archive | ||
| inputs: | ||
| SourceFolder: '$(Build.SourcesDirectory)/artifacts/WasmBuildTests_$(_hostedOs)_AllSubsets_CoreCLR' | ||
| Contents: helix/** | ||
| TargetFolder: '$(Build.SourcesDirectory)/artifacts' | ||
| CleanTargetFolder: false | ||
|
|
||
| # build WBT | ||
| buildArgs: >- | ||
| $(wbtProjectArg) $(Build.SourcesDirectory)/src/mono/wasm/Wasm.Build.Tests/Wasm.Build.Tests.csproj | ||
| /bl:$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/Build.binlog | ||
| /p:Configuration=$(_BuildConfig) | ||
| /p:TestUsingWorkloads=false | ||
| /p:InstallWorkloadForTesting=true | ||
| /p:WasmSkipMissingRuntimePackBuild=true | ||
| /p:PreparePackagesForWorkloadInstall=false | ||
| /p:WorkloadsTestPreviousVersions=$(workloadsTestPreviousVersionsVar) | ||
| /p:RuntimeFlavor=CoreCLR | ||
| timeoutInMinutes: 180 | ||
| condition: >- | ||
| or( | ||
| eq(variables['alwaysRunVar'], true), | ||
| eq(variables['isDefaultPipeline'], variables['shouldRunWasmBuildTestsOnDefaultPipeline'])) | ||
|
|
||
| # extra steps, run tests | ||
| postBuildSteps: | ||
| - template: /eng/pipelines/libraries/helix.yml | ||
| parameters: | ||
| creator: dotnet-bot | ||
| testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig)_$(_hostedOs) | ||
| extraHelixArguments: /p:BrowserHost=$(_hostedOs) | ||
| scenarios: | ||
| - buildwasmapps |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| <Project> | ||
| <!-- TODO-WASM: These targets are invoked by public WasmSDK --> | ||
| <Target Name="WasmBuildApp"> | ||
| <Message Importance="high" Text="WasmBuildApp for CoreCLR not implemented" /> | ||
| </Target> | ||
| <Target Name="WasmTriggerPublishApp"> | ||
| <Message Importance="high" Text="WasmTriggerPublishApp for CoreCLR not implemented" /> | ||
| </Target> | ||
| </Project> |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.