@@ -25,35 +25,44 @@ steps:
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
30
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
52
39
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 }}'
57
66
58
67
- script : pwsh $(Build.SourcesDirectory)/eng/pipelines/runtimelab/remove-duplicate-packages.ps1 -Config $(_BuildConfig) -HostArch $(hostedTargetArch) -TargetOS ${{ parameters.osGroup }} -TargetArch ${{ parameters.archType }}
59
68
displayName : Remove duplicate packages before publishing
0 commit comments