@@ -18,42 +18,49 @@ steps:
1818 displayName : Build the ILC and RyuJit cross-compilers
1919
2020 # Build target packages (note: target libs already built).
21- - script : $(Build.SourcesDirectory)/build$(scriptExt) nativeaot.packages -os ${{ parameters.osGroup }} -a wasm -c $(buildConfigUpper) $(_officialBuildParameter) -ci $( wasmEnableThreadsArg)
21+ - script : $(Build.SourcesDirectory)/build$(scriptExt) nativeaot.packages -os ${{ parameters.osGroup }} -a wasm -c $(buildConfigUpper) $(_officialBuildParameter) -ci ${{ parameters. wasmEnableThreadsArg }}
2222 displayName : Build target packages
2323
2424 # Build host packages.
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
33-
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 }}
30+ # Full validation with ILC that we can run on the build machine.
31+ - ${{ if ne(parameters.nameSuffix, 'arm64') }} :
32+ - ${{ if or(eq(parameters.osGroup, 'windows'), eq(parameters.hostedOs, 'windows')) }} :
33+ - script : $(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) os ${{ parameters.osGroup }} ${{ parameters.archType }} $(crossArg) $(_officialBuildParameter) ci tree nativeaot /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }} ${{ parameters.wasmEnableThreadsArg }}
4034 displayName : Build runtime tests
4135 - ${{ else }} :
42- - script : $(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) ${{ parameters.archType }} $(crossArg) $(_officialBuildParameter) ci 'tree nativeaot' /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }}
36+ - script : $(Build.SourcesDirectory)/src/tests/build$(scriptExt) nativeaot $(buildConfigUpper) -os ${{ parameters.osGroup }} ${{ parameters. archType }} $(crossArg) $(_officialBuildParameter) ci 'tree nativeaot' /p:LibrariesConfiguration=${{ parameters.librariesConfiguration }} ${{ parameters.wasmEnableThreadsArg }}
4337 displayName : Build runtime tests
4438
45- - ${{ if contains(parameters.platform, 'win') }} :
4639 - ${{ 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
40+ - ${{ if or(eq(parameters.osGroup, 'windows'), eq(parameters.hostedOs, 'windows')) }} :
41+ - script : $(Build.SourcesDirectory)/src/tests/run$(scriptExt) runnativeaottests $(buildConfigUpper) ${{ parameters.archType }} os ${{ parameters.osGroup }}
42+ displayName : Run runtime tests
43+ - ${{ else }} :
44+ - script : $(Build.SourcesDirectory)/src/tests/run$(scriptExt) --runnativeaottests $(buildConfigUpper) ${{ parameters.archType }} -os ${{ parameters.osGroup }}
45+ displayName : Run runtime tests
5246
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
47+ - ${{ if eq(parameters.archType, 'wasm') }} :
48+ - 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
49+ displayName : Build and run WebAssembly libraries tests
50+ # Minimal Helix-based validation for cross-compiled ILC.
51+ - ${{ elseif eq(parameters.osGroup, 'wasi') }} :
52+ - template : /eng/pipelines/common/templates/runtimes/send-to-helix-step.yml
53+ parameters :
54+ displayName : Test cross-compiled ILC on Helix
55+ buildConfig : $(buildConfigUpper)
56+ archType : $(hostedTargetArch)
57+ osGroup : ${{ parameters.hostedOs }}
58+ creator : $(Build.DefinitionName)
59+ helixBuild : $(Build.BuildNumber)
60+ helixSource : $(_HelixSource)
61+ helixType : ' test/functional/ilc/'
62+ helixQueues : ${{ parameters.helixQueues }}
63+ helixProjectArguments : ' $(Build.SourcesDirectory)/eng/pipelines/runtimelab/sendtohelix-naot-llvm.proj /p:TestTargetOS=${{ parameters.osGroup }}'
5764
5865 - script : pwsh $(Build.SourcesDirectory)/eng/pipelines/runtimelab/remove-duplicate-packages.ps1 -Config $(_BuildConfig) -HostArch $(hostedTargetArch) -TargetOS ${{ parameters.osGroup }} -TargetArch ${{ parameters.archType }}
5966 displayName : Remove duplicate packages before publishing
0 commit comments