|
20 | 20 | <EmSdkDirForHelixPayload>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'mono', 'wasm', 'emsdk'))</EmSdkDirForHelixPayload> |
21 | 21 |
|
22 | 22 | <NeedsWorkload Condition="'$(Scenario)' == 'BuildWasmApps'">true</NeedsWorkload> |
23 | | - <NeedsEMSDK Condition="'$(NeedsToBuildWasmAppsOnHelix)' == 'true' or ('$(Scenario)' == 'BuildWasmApps' and '$(TestUsingWorkloads)' != 'true')">true</NeedsEMSDK> |
| 23 | + <NeedsEMSDK Condition="'$(NeedsToBuildWasmAppsOnHelix)' == 'true' or '$(Scenario)' == 'BuildWasmApps'">true</NeedsEMSDK> |
24 | 24 | <NeedsEMSDKNode Condition="'$(Scenario)' == 'WasmTestOnNodeJs' or '$(Scenario)' == 'BuildWasmApps'">true</NeedsEMSDKNode> |
25 | 25 | <NeedsToRunOnBrowser Condition="'$(Scenario)' == 'WasmTestOnBrowser' or '$(Scenario)' == 'BuildWasmApps'">true</NeedsToRunOnBrowser> |
26 | 26 | <NeedsToRunOnBrowser Condition="'$(NeedsToRunOnBrowser)' == '' and '$(IsWasmDebuggerTests)' == 'true'">true</NeedsToRunOnBrowser> |
27 | 27 |
|
28 | 28 | <IncludeXHarnessCli>true</IncludeXHarnessCli> |
29 | 29 | <EnableXHarnessTelemetry>true</EnableXHarnessTelemetry> |
| 30 | + <IncludeNodePayload Condition="'$(NeedsEMSDKNode)' == 'true' and '$(NeedsEMSDK)' != 'true'">true</IncludeNodePayload> |
| 31 | + </PropertyGroup> |
| 32 | + |
| 33 | + <PropertyGroup> |
| 34 | + <_HelixLocalNodePath Condition="'$(NeedsEMSDKNode)' == 'true' and '$(WindowsShell)' != 'true'">$HELIX_CORRELATION_PAYLOAD/build/emsdk-node</_HelixLocalNodePath> |
| 35 | + <_HelixLocalNodePath Condition="'$(NeedsEMSDKNode)' == 'true' and '$(WindowsShell)' == 'true'">%HELIX_CORRELATION_PAYLOAD%\build\emsdk-node</_HelixLocalNodePath> |
| 36 | + |
| 37 | + <_HelixLocalNodePath Condition="'$(NeedsEMSDK)' == 'true' and '$(WindowsShell)' != 'true'">$HELIX_CORRELATION_PAYLOAD/build/emsdk/node</_HelixLocalNodePath> |
| 38 | + <_HelixLocalNodePath Condition="'$(NeedsEMSDK)' == 'true' and '$(WindowsShell)' == 'true'">%HELIX_CORRELATION_PAYLOAD%\build\emsdk\node</_HelixLocalNodePath> |
30 | 39 | </PropertyGroup> |
31 | 40 |
|
32 | 41 | <ItemGroup Condition="'$(WindowsShell)' != 'true'"> |
|
40 | 49 |
|
41 | 50 | <HelixPreCommand Condition="'$(NeedsToRunOnBrowser)' == 'true'" Include="export PATH=$HELIX_CORRELATION_PAYLOAD/$(ChromeDriverDirName):$PATH" /> |
42 | 51 | <HelixPreCommand Condition="'$(NeedsToRunOnBrowser)' == 'true'" Include="export PATH=$HELIX_CORRELATION_PAYLOAD/$(ChromiumDirName):$PATH" /> |
43 | | - |
44 | | - <!-- Fix symbolic links that are broken already on build machine and also in the correlation payload --> |
45 | | - <HelixPreCommand Condition="'$(NeedsEMSDKNode)' == 'true'" Include="export HELIX_NODEJS_VERSION=%24(ls $HELIX_CORRELATION_PAYLOAD/build/emsdk/node)" /> |
46 | | - <HelixPreCommand Condition="'$(NeedsEMSDKNode)' == 'true'" Include="export HELIX_NODEJS_PATH=$HELIX_CORRELATION_PAYLOAD/build/emsdk/node/$HELIX_NODEJS_VERSION" /> |
47 | | - <HelixPreCommand Condition="'$(NeedsEMSDKNode)' == 'true'" Include="export PATH=$HELIX_NODEJS_PATH/bin:$PATH" /> |
48 | | - <HelixPreCommand Condition="'$(NeedsEMSDKNode)' == 'true'" Include="rm $HELIX_NODEJS_PATH/bin/npm" /> |
49 | | - <HelixPreCommand Condition="'$(NeedsEMSDKNode)' == 'true'" Include="rm $HELIX_NODEJS_PATH/bin/npx" /> |
50 | | - <HelixPreCommand Condition="'$(NeedsEMSDKNode)' == 'true'" Include="ln -s ../lib/node_modules/npm/bin/npm-cli.js $HELIX_NODEJS_PATH/bin/npm" /> |
51 | | - <HelixPreCommand Condition="'$(NeedsEMSDKNode)' == 'true'" Include="ln -s ../lib/node_modules/npm/bin/npx-cli.js $HELIX_NODEJS_PATH/bin/npx" /> |
52 | 52 | </ItemGroup> |
53 | 53 |
|
54 | 54 | <ItemGroup Condition="'$(WindowsShell)' == 'true'"> |
|
62 | 62 |
|
63 | 63 | <HelixPreCommand Condition="'$(NeedsToRunOnBrowser)' == 'true'" Include="set PATH=%HELIX_CORRELATION_PAYLOAD%\$(ChromeDriverDirName)%3B%PATH%" /> |
64 | 64 | <HelixPreCommand Condition="'$(NeedsToRunOnBrowser)' == 'true'" Include="set PATH=%HELIX_CORRELATION_PAYLOAD%\$(ChromiumDirName)%3B%PATH%" /> |
| 65 | + </ItemGroup> |
| 66 | + |
| 67 | + <ItemGroup Condition="'$(NeedsEMSDKNode)' == 'true' and '$(WindowsShell)' != 'true'"> |
| 68 | + <!-- Fix symbolic links that are broken already on build machine and also in the correlation payload --> |
| 69 | + <HelixPreCommand Include="export _HELIX_NODEJS_VERSION=%24(ls $(_HelixLocalNodePath))" /> |
| 70 | + <HelixPreCommand Include="export _HELIX_NODEJS_PATH=$(_HelixLocalNodePath)/$_HELIX_NODEJS_VERSION" /> |
| 71 | + <HelixPreCommand Include="export PATH=$_HELIX_NODEJS_PATH/bin:$PATH" /> |
| 72 | + <HelixPreCommand Include="rm $_HELIX_NODEJS_PATH/bin/npm" /> |
| 73 | + <HelixPreCommand Include="rm $_HELIX_NODEJS_PATH/bin/npx" /> |
| 74 | + <HelixPreCommand Include="ln -s ../lib/node_modules/npm/bin/npm-cli.js $_HELIX_NODEJS_PATH/bin/npm" /> |
| 75 | + <HelixPreCommand Include="ln -s ../lib/node_modules/npm/bin/npx-cli.js $_HELIX_NODEJS_PATH/bin/npx" /> |
| 76 | + </ItemGroup> |
65 | 77 |
|
66 | | - <HelixPreCommand Condition="'$(NeedsEMSDKNode)' == 'true'" Include="for /f %%i in ('dir %HELIX_CORRELATION_PAYLOAD%\build\emsdk\node /b') do set HELIX_NODEJS_VERSION=%%i" /> |
67 | | - <HelixPreCommand Condition="'$(NeedsEMSDKNode)' == 'true'" Include="set PATH=%HELIX_CORRELATION_PAYLOAD%\build\emsdk\node\%HELIX_NODEJS_VERSION%\bin%3B%PATH%" /> |
| 78 | + <ItemGroup Condition="'$(NeedsEMSDKNode)' == 'true' and '$(WindowsShell)' == 'true'"> |
| 79 | + <HelixPreCommand Include="for /f %%i in ('dir $(_HelixLocalNodePath) /b') do set _HELIX_NODEJS_VERSION=%%i" /> |
| 80 | + <HelixPreCommand Include="set PATH=$(_HelixLocalNodePath)/%_HELIX_NODEJS_VERSION%/bin%3B%PATH%" /> |
68 | 81 | </ItemGroup> |
69 | 82 |
|
70 | 83 | <PropertyGroup> |
| 84 | + |
71 | 85 | <!-- |
72 | 86 | We are hosting the payloads for the WASM/browser on kestrel in the xharness process. |
73 | 87 | We also run some network tests to this server and so, we are running it on both HTTP and HTTPS. |
|
123 | 137 | <HelixCorrelationPayload Include="$(MonoTargetsTasksDir)" Destination="build/MonoTargetsTasks" /> |
124 | 138 | </ItemGroup> |
125 | 139 |
|
126 | | - <ItemGroup Condition="'$(NeedsEMSDKNode)' == 'true'"> |
127 | | - <HelixCorrelationPayload Include="$(EmSdkDirForHelixPayload)node" Destination="build/emsdk/node" /> |
| 140 | + <!-- copy node separately only if EMSDK is not being included --> |
| 141 | + <ItemGroup Condition="'$(IncludeNodePayload)' == 'true'"> |
| 142 | + <HelixCorrelationPayload Include="$(EmSdkDirForHelixPayload)node" Destination="build/emsdk-node" /> |
128 | 143 | </ItemGroup> |
129 | 144 |
|
130 | 145 | <ItemGroup Condition="'$(Scenario)' == '' or '$(Scenario)' == 'normal' or '$(Scenario)' == 'WasmTestOnBrowser' or '$(Scenario)' == 'WasmTestOnNodeJS'"> |
|
154 | 169 | </PropertyGroup> |
155 | 170 |
|
156 | 171 | <Message Condition="'$(NeedsEMSDK)' == 'true' or '$(NeedsEMSDKNode)' == 'true'" Importance="High" Text="Using emsdk: $(EmSdkDirForHelixPayload)" /> |
157 | | - |
| 172 | + |
158 | 173 | <ItemGroup Condition="'$(IsRunningLibraryTests)' == 'true'"> |
159 | 174 | <_WasmWorkItem Include="$(TestArchiveRoot)browseronly/**/*.zip" Condition="'$(Scenario)' == 'WasmTestOnBrowser'" /> |
160 | 175 | <_WasmWorkItem Include="$(TestArchiveRoot)browserornodejs/**/*.zip" Condition="'$(Scenario)' == 'WasmTestOnBrowser'" /> |
|
208 | 223 | <!-- CI has emscripten provisioned in $(EMSDK_PATH) as `/usr/local/emscripten`. Because helix tasks will |
209 | 224 | attempt to write a .payload file, we cannot use $(EMSDK_PATH) to package emsdk as a helix correlation |
210 | 225 | payload. Instead, we copy over the files to a new directory `src/mono/wasm/emsdk` and use that. --> |
211 | | - <Target Name="StageEmSdkForHelix" Condition="('$(NeedsEMSDK)' == 'true' or '$(NeedsEMSDKNode)' == 'true') and !Exists($(EmSdkDirForHelixPayload))"> |
| 226 | + <Target Name="StageEmSdkForHelix" Condition="('$(NeedsEMSDK)' == 'true' or '$(IncludeNodePayload)' == 'true') and !Exists($(EmSdkDirForHelixPayload))"> |
212 | 227 | <Error Condition="'$(EMSDK_PATH)' == '' or !Exists($(EMSDK_PATH))" |
213 | 228 | Text="Could not find emscripten sdk in EMSDK_PATH=$(EMSDK_PATH), needed to provision for running tests on helix" /> |
214 | 229 |
|
|
0 commit comments