@@ -18,42 +18,49 @@ steps:
18
18
displayName : Build the ILC and RyuJit cross-compilers
19
19
20
20
# 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 }}
22
22
displayName : Build target packages
23
23
24
24
# Build host packages.
25
25
- script : $(Build.SourcesDirectory)/build$(scriptExt) libs+nativeaot.packages -a $(hostedTargetArch) -c $(buildConfigUpper) -cross $(_officialBuildParameter) -ci
26
26
displayName : Build host packages
27
27
28
- # Build coreclr native test output outside of official build
28
+ # Build and run runtime tests outside of official build
29
29
- ${{ 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 }}
40
34
displayName : Build runtime tests
41
35
- ${{ 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 }}
43
37
displayName : Build runtime tests
44
38
45
- - ${{ if contains(parameters.platform, 'win') }} :
46
39
- ${{ 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
52
46
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 }}'
57
64
58
65
- script : pwsh $(Build.SourcesDirectory)/eng/pipelines/runtimelab/remove-duplicate-packages.ps1 -Config $(_BuildConfig) -HostArch $(hostedTargetArch) -TargetOS ${{ parameters.osGroup }} -TargetArch ${{ parameters.archType }}
59
66
displayName : Remove duplicate packages before publishing
0 commit comments