@@ -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