@@ -25,35 +25,44 @@ steps:
2525    - script : $(Build.SourcesDirectory)/build$(scriptExt) libs+nativeaot.packages -a $(hostedTargetArch) -c $(buildConfigUpper) -cross $(_officialBuildParameter) -ci 
2626      displayName : Build host packages 
2727
28-   #  Build coreclr native test output  outside of official build
28+   #  Build and run runtime tests  outside of official build
2929  - ${{ if ne(parameters.isOfficialBuild, true) }} :
30-     - ${{ if and(eq(parameters.archType, 'wasm'), ne(parameters.nameSuffix, ''), eq(parameters.wasmEnableThreadsArg, '')) }} :
31-       - script : pwsh $(Build.SourcesDirectory)/eng/pipelines/runtimelab/set-ilc-emulation-environment.ps1 -Arch $(hostedTargetArch) 
32-         displayName : Set up ILC emulation environment 
3330
34-     #  - ${{ if eq(parameters.archType, 'wasm') }}:
35-     #    - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.osGroup }} $(crossArg) $(_officialBuildParameter) ci tree nativeaot /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }} ${{ parameters.wasmEnableThreadsArg }}
36-     #      displayName: Build runtime tests
37-     #  - ${{ else }}:
38-     #    - ${{ if eq(parameters.osGroup, 'windows') }}:
39-     #      - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} $(crossArg) $(_officialBuildParameter) ci tree nativeaot /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
40-     #        displayName: Build runtime tests
41-     #    - ${{ else }}:
42-     #      - script: $(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} $(crossArg) $(_officialBuildParameter) ci 'tree nativeaot' /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
43-     #        displayName: Build runtime tests
44-     #  
45-     #  - ${{ if contains(parameters.platform, 'win') }}:
46-     #    - ${{ if eq(parameters.wasmEnableThreadsArg, '') }}:
47-     #      - script: $(Build.SourcesDirectory)/src/tests/run$(scriptExt) runnativeaottests $(buildConfigUpper) ${{ parameters.archType }} ${{ parameters.osGroup }}
48-     #        displayName: Run runtime tests
49-     #  - ${{ else }}:
50-     #    - script: $(Build.SourcesDirectory)/src/tests/run$(scriptExt) --runnativeaottests $(buildConfigUpper) ${{ parameters.archType }} ${{ parameters.osGroup }}
51-     #      displayName: Run runtime tests
31+     #  Full validation with ILC that we can run on the build machine.
32+     - ${{ if ne(parameters.nameSuffix, 'arm64') }} :
33+       - ${{ if eq(parameters.hostedOs, 'windows') }} :
34+         - script : $(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} $(crossArg) $(_officialBuildParameter) ci tree nativeaot /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }} ${{ parameters.wasmEnableThreadsArg }} 
35+           displayName : Build runtime tests 
36+       - ${{ else }} :
37+         - script : $(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} $(crossArg) $(_officialBuildParameter) ci 'tree nativeaot' /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }} ${{ parameters.wasmEnableThreadsArg }} 
38+           displayName : Build runtime tests 
5239
53-     #  Don't compile/run the libraries tests with emulated ILC to save CI time/resources.
54-     - ${{ if and(eq(parameters.archType, 'wasm'), eq(parameters.nameSuffix, ''), eq(parameters.wasmEnableThreadsArg, '')) }} :
55-       - script : $(Build.SourcesDirectory)/build$(scriptExt) libs.tests -test -a ${{ parameters.archType }} -os ${{ parameters.osGroup }} -lc ${{ parameters.librariesConfiguration }} -rc $(buildConfigUpper) /p:TestNativeAot=true /p:RunSmokeTestsOnly=true 
56-         displayName : Build and run WebAssembly libraries tests 
40+       - ${{ if eq(parameters.wasmEnableThreadsArg, '') }} :
41+         - ${{ if eq(parameters.hostedOs, 'windows') }} :
42+           - script : $(Build.SourcesDirectory)/src/tests/run$(scriptExt) runnativeaottests $(buildConfigUpper) ${{ parameters.archType }} ${{ parameters.osGroup }} 
43+             displayName : Run runtime tests 
44+         - ${{ else }} :
45+           - script : $(Build.SourcesDirectory)/src/tests/run$(scriptExt) --runnativeaottests $(buildConfigUpper) ${{ parameters.archType }} ${{ parameters.osGroup }} 
46+             displayName : Run runtime tests 
47+ 
48+         - ${{ if eq(parameters.archType, 'wasm') }} :
49+           - script : $(Build.SourcesDirectory)/build$(scriptExt) libs.tests -test -a ${{ parameters.archType }} -os ${{ parameters.osGroup }} -lc ${{ parameters.librariesConfiguration }} -rc $(buildConfigUpper) /p:TestNativeAot=true /p:RunSmokeTestsOnly=true 
50+             displayName : Build and run WebAssembly libraries tests 
51+ 
52+     #  Minimal Helix-based validation for cross-compiled ILC.
53+     - ${{ elseif eq(parameters.osGroup, 'wasi') }} :
54+       - template : /eng/pipelines/common/templates/runtimes/send-to-helix-step.yml 
55+         parameters :
56+           displayName : Test cross-compiled ILC on Helix 
57+           buildConfig : $(buildConfigUpper) 
58+           archType : $(hostedTargetArch) 
59+           osGroup : ${{ parameters.hostedOs }} 
60+           creator : $(Build.DefinitionName) 
61+           helixBuild : $(Build.BuildNumber) 
62+           helixSource : $(_HelixSource) 
63+           helixType : ' test/functional/ilc/' 
64+           helixQueues : ${{ parameters.helixQueues }} 
65+           helixProjectArguments : ' $(Build.SourcesDirectory)/eng/pipelines/runtimelab/sendtohelix-naot-llvm.proj /p:TestTargetOS=${{ parameters.osGroup }}' 
5766
5867  - script : pwsh $(Build.SourcesDirectory)/eng/pipelines/runtimelab/remove-duplicate-packages.ps1 -Config $(_BuildConfig) -HostArch $(hostedTargetArch) -TargetOS ${{ parameters.osGroup }} -TargetArch ${{ parameters.archType }} 
5968    displayName : Remove duplicate packages before publishing 
0 commit comments