Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions eng/common/core-templates/steps/send-to-helix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ parameters:
DotNetCliVersion: '' # optional -- version of the CLI to send to Helix; based on this: https://raw.githubusercontent.com/dotnet/core/main/release-notes/releases-index.json
WaitForWorkItemCompletion: true # optional -- true will make the task wait until work items have been completed and fail the build if work items fail. False is "fire and forget."
IsExternal: false # [DEPRECATED] -- doesn't do anything, jobs are external if HelixAccessToken is empty and Creator is set
HelixBaseUri: 'https://helix.dot.net/' # optional -- sets the Helix API base URI (allows targeting https://helix.int-dot.net )
HelixBaseUri: 'https://helix.int-dot.net/' # optional -- sets the Helix API base URI (allows targeting https://helix.int-dot.net )
Copy link

Copilot AI Feb 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR title explicitly states "NO-MERGE" indicating this is experimental and should not be merged into the main branch. This PR changes the Helix base URI from production (helix.dot.net) to staging (helix.int-dot.net), which would affect all Helix test submissions. Since this is marked as experimental in the description, it should not be merged without removing the NO-MERGE designation and proper validation.

Copilot uses AI. Check for mistakes.
Creator: '' # optional -- if the build is external, use this to specify who is sending the job
DisplayNamePrefix: 'Run Tests' # optional -- rename the beginning of the displayName of the steps in AzDO
DisplayNamePrefix: 'Run Tests' # optional -- rename the beginning of the displayName of the steps in AzDO
condition: succeeded() # optional -- condition for step to execute; defaults to succeeded()
continueOnError: false # optional -- determines whether to continue the build if the step errors; defaults to false

steps:
- powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY/${{ parameters.HelixProjectPath }} /restore /p:TreatWarningsAsErrors=false ${{ parameters.HelixProjectArguments }} /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"'
- powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY/${{ parameters.HelixProjectPath }} /restore /p:HelixBaseUri=https://helix.int-dot.net/ /p:TreatWarningsAsErrors=false ${{ parameters.HelixProjectArguments }} /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"'
Copy link

Copilot AI Feb 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The HelixBaseUri parameter is being passed as a command-line property here, but it's also set in the environment variables below (lines 59-60). This creates redundancy. Since the environment variable SYSTEM_HELIX_URI is being set, the command-line property may not be necessary.

Copilot uses AI. Check for mistakes.
displayName: ${{ parameters.DisplayNamePrefix }} (Windows)
env:
BuildConfig: $(_BuildConfig)
Expand All @@ -56,12 +56,13 @@ steps:
DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }}
DotNetCliVersion: ${{ parameters.DotNetCliVersion }}
WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }}
HelixBaseUri: ${{ parameters.HelixBaseUri }}
HelixBaseUri: "https://helix.int-dot.net/"
SYSTEM_HELIX_URI: "https://helix.int-dot.net/"
Creator: ${{ parameters.Creator }}
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
condition: and(${{ parameters.condition }}, eq(variables['Agent.Os'], 'Windows_NT'))
continueOnError: ${{ parameters.continueOnError }}
- script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/${{ parameters.HelixProjectPath }} /restore /p:TreatWarningsAsErrors=false ${{ parameters.HelixProjectArguments }} /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
- script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/${{ parameters.HelixProjectPath }} /restore /p:TreatWarningsAsErrors=false ${{ parameters.HelixProjectArguments }} /p:HelixBaseUri=https://helix.int-dot.net/ /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
Copy link

Copilot AI Feb 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The HelixBaseUri parameter is being passed as a command-line property here, but it's also set in the environment variables below (lines 90-91). This creates redundancy. Since the environment variable SYSTEM_HELIX_URI is being set, the command-line property may not be necessary.

Copilot uses AI. Check for mistakes.
displayName: ${{ parameters.DisplayNamePrefix }} (Unix)
env:
BuildConfig: $(_BuildConfig)
Expand All @@ -86,7 +87,8 @@ steps:
DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }}
DotNetCliVersion: ${{ parameters.DotNetCliVersion }}
WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }}
HelixBaseUri: ${{ parameters.HelixBaseUri }}
HelixBaseUri: "https://helix.int-dot.net/"
SYSTEM_HELIX_URI: "https://helix.int-dot.net/"
Creator: ${{ parameters.Creator }}
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
condition: and(${{ parameters.condition }}, ne(variables['Agent.Os'], 'Windows_NT'))
Expand Down
1 change: 1 addition & 0 deletions eng/common/helixpublish.proj
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<Project Sdk="Microsoft.DotNet.Helix.Sdk" DefaultTargets="Test">

<PropertyGroup>
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
<Language>msbuild</Language>
</PropertyGroup>

Expand Down
1 change: 1 addition & 0 deletions eng/testing/performance/android_scenarios.proj
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<Project Sdk="Microsoft.DotNet.Helix.Sdk" DefaultTargets="Test">
<PropertyGroup>
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
<IncludeXHarnessCli>true</IncludeXHarnessCli>
Comment on lines +3 to 4
Copy link

Copilot AI Feb 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The indentation of HelixBaseUri is inconsistent with other properties in this PropertyGroup. Other properties like IncludeXHarnessCli use 4 spaces of indentation, but HelixBaseUri uses 6 spaces. For consistency, HelixBaseUri should use 4 spaces of indentation to align with the existing properties in this file.

Suggested change
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
<IncludeXHarnessCli>true</IncludeXHarnessCli>
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
<IncludeXHarnessCli>true</IncludeXHarnessCli>

Copilot uses AI. Check for mistakes.
</PropertyGroup>
<PropertyGroup Condition="'$(AGENT_OS)' != 'Windows_NT'">
Expand Down
1 change: 1 addition & 0 deletions eng/testing/performance/blazor_perf.proj
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<Project Sdk="Microsoft.DotNet.Helix.Sdk" DefaultTargets="Test">
<PropertyGroup>
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
<LogDirectory Condition="'$(AGENT_OS)' == 'Windows_NT'">%HELIX_WORKITEM_UPLOAD_ROOT%\</LogDirectory>
<LogDirectory Condition="'$(AGENT_OS)' != 'Windows_NT'">%24{HELIX_WORKITEM_UPLOAD_ROOT}/</LogDirectory>

Expand Down
18 changes: 11 additions & 7 deletions eng/testing/performance/crossgen_perf.proj
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
<Project Sdk="Microsoft.DotNet.Helix.Sdk" DefaultTargets="Test">

<PropertyGroup>
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
</PropertyGroup>

<ItemGroup>
<HelixCorrelationPayload Include="$(CorrelationPayloadDirectory)">
<PayloadDirectory>%(Identity)</PayloadDirectory>
</HelixCorrelationPayload>
</ItemGroup>

<!--
Crossgen and Crossgen2 Scenario WorkItems
<!--
Crossgen and Crossgen2 Scenario WorkItems
-->
<PropertyGroup Condition="'$(AGENT_OS)' == 'Windows_NT'">
<Python>python</Python>
Expand Down Expand Up @@ -44,14 +48,14 @@
<Composite Include="framework-r2r.dll.rsp"/>
</ItemGroup>

<ItemGroup>
<ItemGroup>
<Crossgen2WorkItem Include="@(SingleAssembly)">
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
<Command>$(Python) $(Crossgen2Directory)test.py crossgen2 --core-root $(CoreRoot) --single %(Identity) $(ScenarioArgs)</Command>
</Crossgen2WorkItem>
</ItemGroup>

<ItemGroup>
<ItemGroup>
<Crossgen2SingleThreadedWorkItem Include="@(SingleAssembly)">
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
<Command>$(Python) $(Crossgen2Directory)test.py crossgen2 --core-root $(CoreRoot) --single %(Identity) --singlethreaded True $(ScenarioArgs)</Command>
Expand All @@ -76,12 +80,12 @@
<Timeout>4:00</Timeout>
</HelixWorkItem>
<HelixWorkItem Include="Crossgen2 Composite Framework R2R">
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
<PayloadDirectory>$(WorkItemDirectory)</PayloadDirectory>
<Command>$(Python) $(Crossgen2Directory)test.py crossgen2 --core-root $(CoreRoot) --composite $(Crossgen2Directory)framework-r2r.dll.rsp $(ScenarioArgs)</Command>
<Timeout>1:00</Timeout>
<Timeout>1:00</Timeout>
</HelixWorkItem>
<HelixWorkItem Include="@(Crossgen2SizeOnDiskWorkItem -> 'Crossgen2 Size on Disk %(Identity)')">
<Timeout>4:00</Timeout>
<Timeout>4:00</Timeout>
</HelixWorkItem>
</ItemGroup>
</Project>
1 change: 1 addition & 0 deletions eng/testing/performance/ios_scenarios.proj
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<Project Sdk="Microsoft.DotNet.Helix.Sdk" DefaultTargets="Test">
<PropertyGroup>
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
<IncludeXHarnessCli>true</IncludeXHarnessCli>
</PropertyGroup>
<PropertyGroup Condition="'$(AGENT_OS)' != 'Windows_NT'">
Expand Down
4 changes: 4 additions & 0 deletions src/coreclr/scripts/exploratory.proj
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<Project Sdk="Microsoft.DotNet.Helix.Sdk" DefaultTargets="Test">

<PropertyGroup>
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
</PropertyGroup>

<PropertyGroup Condition="'$(AGENT_OS)' == 'Windows_NT'">
<FileSeparatorChar>\</FileSeparatorChar>
</PropertyGroup>
Expand Down
1 change: 1 addition & 0 deletions src/coreclr/scripts/paltests.proj
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<Project Sdk="Microsoft.DotNet.Helix.Sdk" DefaultTargets="Test">
<PropertyGroup>
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
<EnableXUnitReporter>true</EnableXUnitReporter>
<Creator>$(_Creator)</Creator>
<HelixAccessToken>$(_HelixAccessToken)</HelixAccessToken>
Expand Down
4 changes: 4 additions & 0 deletions src/coreclr/scripts/superpmi-asmdiffs-checked-release.proj
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@
timeout: %(HelixWorkItem.Timeout) '"/>
</Target> -->

<PropertyGroup>
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
</PropertyGroup>

<PropertyGroup>
<Python>%HELIX_PYTHONPATH%</Python>
<ProductDirectory>%HELIX_CORRELATION_PAYLOAD%</ProductDirectory>
Expand Down
10 changes: 7 additions & 3 deletions src/coreclr/scripts/superpmi-collect.proj
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@

-->

<PropertyGroup>
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
</PropertyGroup>

<PropertyGroup Condition="'$(AGENT_OS)' == 'Windows_NT'">
<FileSeparatorChar>\</FileSeparatorChar>
</PropertyGroup>
Expand Down Expand Up @@ -175,7 +179,7 @@
<HelixPreCommand Include="taskkill.exe /f /im crank-agent.exe"/>
<HelixPostCommand Include="taskkill.exe /f /im crank-agent.exe"/>
</ItemGroup>

<ItemGroup Condition=" '$(AGENT_OS)' != 'Windows_NT'">
<HelixPreCommand Include="pkill -f crank || true"/>
<HelixPostCommand Include="pkill -f crank || true"/>
Expand Down Expand Up @@ -280,7 +284,7 @@
<BDN_Partition Include="Partition3" Index="3" BenchmarkPath="src\benchmarks\real-world\Microsoft.ML.Benchmarks\Microsoft.ML.Benchmarks.csproj" BenchmarkBinary="Microsoft.ML.Benchmarks.dll" />
<BDN_Partition Include="Partition4" Index="4" BenchmarkPath="src\benchmarks\real-world\Roslyn\CompilerBenchmarks.csproj" BenchmarkBinary="CompilerBenchmarks.dll" />
<BDN_Partition Include="Partition5" Index="5" BenchmarkPath="src\benchmarks\real-world\PowerShell.Benchmarks\PowerShell.Benchmarks.csproj" BenchmarkBinary="PowerShell.Benchmarks.dll" />
</ItemGroup>
</ItemGroup>
<ItemGroup Condition="'$(CollectionName)' == 'realworld' and '$(AGENT_OS)' != 'Windows_NT'">
<BDN_Partition Include="Partition0" Index="0" BenchmarkPath="src/benchmarks/real-world/bepuphysics2/DemoBenchmarks.csproj" BenchmarkBinary="DemoBenchmarks.dll" />
<BDN_Partition Include="Partition1" Index="1" BenchmarkPath="src/benchmarks/real-world/ILLink/ILLinkBenchmarks.csproj" BenchmarkBinary="ILLinkBenchmarks.dll" />
Expand Down Expand Up @@ -332,5 +336,5 @@
<Timeout>$(WorkItemTimeout)</Timeout>
<DownloadFilesFromResults>%(OutputFileName).mch;%(OutputFileName).mch.mct</DownloadFilesFromResults>
</HelixWorkItem>
</ItemGroup>
</ItemGroup>
</Project>
4 changes: 4 additions & 0 deletions src/coreclr/scripts/superpmi-diffs.proj
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@
timeout: %(HelixWorkItem.Timeout) '"/>
</Target> -->

<PropertyGroup>
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
</PropertyGroup>

<PropertyGroup Condition="'$(AGENT_OS)' == 'Windows_NT' ">
<Python>%HELIX_PYTHONPATH%</Python>
<ProductDirectory>%HELIX_CORRELATION_PAYLOAD%</ProductDirectory>
Expand Down
4 changes: 4 additions & 0 deletions src/coreclr/scripts/superpmi-replay.proj
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@
timeout: %(HelixWorkItem.Timeout) '"/>
</Target> -->

<PropertyGroup>
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
</PropertyGroup>

<PropertyGroup>
<!-- Default to standard type -->
<SuperPmiReplayType Condition=" '$(_SuperPmiReplayType)' == '' ">standard</SuperPmiReplayType>
Expand Down
1 change: 1 addition & 0 deletions src/installer/tests/helixpublish.proj
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<Project Sdk="Microsoft.DotNet.Helix.Sdk" DefaultTargets="Test">

<PropertyGroup>
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
<HelixArchitecture>$(TargetArchitecture)</HelixArchitecture>
<HelixBuild Condition="'$(HelixBuild)' == ''">$(BUILD_BUILDNUMBER)</HelixBuild>
<HelixBuild Condition="'$(HelixBuild)' == ''">default</HelixBuild>
Expand Down
1 change: 1 addition & 0 deletions src/libraries/sendtohelixhelp.proj
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
to send test jobs to Helix.
-->
<PropertyGroup>
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
<WindowsShell Condition="'$(TargetOS)' == 'windows' or '$(BrowserHost)' == 'windows' or ($(TargetRuntimeIdentifier.ToLowerInvariant().StartsWith('linux-bionic')) and $(HelixTargetQueue.ToLowerInvariant().Contains('windows')))">true</WindowsShell>

<!-- Set Helix build to build number if available -->
Expand Down
1 change: 1 addition & 0 deletions src/tests/Common/helixpublishwitharcade.proj
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
<Import Sdk="Microsoft.Build.NoTargets" Project="Sdk.props" Condition=" '$(UsesHelixSdk)' != 'true' " />

<PropertyGroup>
<HelixBaseUri>https://helix.int-dot.net/</HelixBaseUri>
<CoreRootDirectory>$(TestBinDir)Tests\Core_Root\</CoreRootDirectory>
<CoreRootDirectory>$([MSBuild]::NormalizeDirectory($(CoreRootDirectory)))</CoreRootDirectory>
<XUnitLogCheckerDirectory>$(TestBinDir)XUnitLogChecker\</XUnitLogCheckerDirectory>
Expand Down
Loading