Skip to content

Commit 81efe83

Browse files
committed
[CI] Azdo: Install az cli for running tests on helix/Windows
``` System.InvalidOperationException: Step 'provision-env' failed: Exception of type 'Aspire.Hosting.Azure.AzureCliNotOnPathException' was thrown. | ---> Aspire.Hosting.Azure.AzureCliNotOnPathException: Exception of type 'Aspire.Hosting.Azure.AzureCliNotOnPathException' was thrown. | at Aspire.Hosting.Azure.Provisioning.Internal.BicepCliCompiler.CompileBicepToArmAsync(String bicepFilePath, CancellationToken cancellationToken) in /_/src/Aspire.Hosting.Azure/Provisioning/Internal/BicepCompiler.cs:line 41 | at Aspire.Hosting.Azure.Provisioning.BicepProvisioner.GetOrCreateResourceAsync(AzureBicepResource resource, ProvisioningContext context, CancellationToken cancellationToken) in /_/src/Aspire.Hosting.Azure/Provisioning/Provisioners/BicepProvisioner.cs:line 159 | at Aspire.Hosting.Azure.AzureBicepResource.ProvisionAzureBicepResourceAsync(PipelineStepContext context, AzureBicepResource resource) in /_/src/Aspire.Hosting.Azure/AzureBicepResource.cs:line 338 | at Aspire.Hosting.Azure.AzureBicepResource.ProvisionAzureBicepResourceAsync(PipelineStepContext context, AzureBicepResource resource) in /_/src/Aspire.Hosting.Azure/AzureBicepResource.cs:line 361 | at Aspire.Hosting.Azure.AzureBicepResource.ProvisionAzureBicepResourceAsync(PipelineStepContext context, AzureBicepResource resource) in /_/src/Aspire.Hosting.Azure/AzureBicepResource.cs:line 361 | at Aspire.Hosting.Azure.AzureBicepResource.<>c__DisplayClass0_0.<<-ctor>b__2>d.MoveNext() in /_/src/Aspire.Hosting.Azure/AzureBicepResource.cs:line 53 | --- End of stack trace from previous location --- | at Aspire.Hosting.Pipelines.DistributedApplicationPipeline.ExecuteStepAsync(PipelineStep step, PipelineStepContext stepContext) in /_/src/Aspire.Hosting/Pipelines/DistributedApplicationPipeline.cs:line 760 | --- End of inner exception stack trace --- | at Aspire.Hosting.Pipelines.DistributedApplicationPipeline.ExecuteStepAsync(PipelineStep step, PipelineStepContext stepContext) in /_/src/Aspire.Hosting/Pipelines/DistributedApplicationPipeline.cs:line 765 | at Aspire.Hosting.Pipelines.DistributedApplicationPipeline.<>c__DisplayClass18_0.<<ExecuteStepsAsTaskDag>g__ExecuteStepWithDependencies|0>d.MoveNext() in /_/src/Aspire.Hosting/Pipelines/DistributedApplicationPipeline.cs:line 576 ```
1 parent ecac451 commit 81efe83

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

tests/helix/send-to-helix-basictests.targets

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
<!-- needed to run 9.0 tests on helix -->
88
<NeedsSdksForTesting>true</NeedsSdksForTesting>
99
<IncludeDotNetCli>false</IncludeDotNetCli>
10+
<!-- Enable Azure CLI for basic tests -->
11+
<NeedsAzCli>true</NeedsAzCli>
1012

1113
<TargetFrameworkSuffixRegex>^(.*?)(-net[\d.]+)?$</TargetFrameworkSuffixRegex>
1214
</PropertyGroup>

tests/helix/send-to-helix-inner.proj

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@
2222
<_AzureFunctionsCliUrl Condition="'$(OS)' == 'Windows_NT'">https://github.com/Azure/azure-functions-core-tools/releases/download/4.0.7512/Azure.Functions.Cli.min.win-x64.4.0.7512.zip</_AzureFunctionsCliUrl>
2323
<_AzureFunctionsCliUrl Condition="'$(OS)' != 'Windows_NT'">https://github.com/Azure/azure-functions-core-tools/releases/download/4.0.7512/Azure.Functions.Cli.linux-x64.4.0.7512.zip</_AzureFunctionsCliUrl>
2424

25+
<!-- Azure CLI URL for Helix runs - Windows x64 zip version -->
26+
<_AzureCliWindowsUrl Condition="'$(OS)' == 'Windows_NT'">https://aka.ms/installazurecliwindowszipx64</_AzureCliWindowsUrl>
27+
2528
<_DefaultSdkDirNameForTests>dotnet-tests</_DefaultSdkDirNameForTests>
29+
<BuildHelixWorkItemsDependsOn>$(BuildHelixWorkItemsDependsOn);DownloadAzureCliForHelix</BuildHelixWorkItemsDependsOn>
2630
</PropertyGroup>
2731

2832
<PropertyGroup>
@@ -165,6 +169,28 @@
165169

166170
<Target Name="PrepareDependencies" DependsOnTargets="$(PrepareDependenciesDependsOn)" />
167171

172+
<!--
173+
The file downloaded from the url doesn't have an extension, which causes Helix sdk to not
174+
treat it as a zip file even when AsArchive=true is used.
175+
So, we explicitly download and rename it to az-cli.zip before adding to HelixCorrelationPayload.
176+
-->
177+
<Target Name="DownloadAzureCliForHelix" Condition="'$(NeedsAzCli)' == 'true' and '$(OS)' == 'Windows_NT'">
178+
<DownloadFile
179+
SourceUrl="$(_AzureCliWindowsUrl)"
180+
DestinationFolder="$(ArtifactsBinDir)">
181+
<Output TaskParameter="DownloadedFile" ItemName="_AzureCliArchive" />
182+
</DownloadFile>
183+
184+
<Move SourceFiles="@(_AzureCliArchive)" DestinationFiles="$(ArtifactsBinDir)\az-cli.zip" />
185+
186+
<ItemGroup>
187+
<HelixCorrelationPayload Include="$(ArtifactsBinDir)\az-cli.zip" Destination="az-cli" AsArchive="true" />
188+
<HelixPreCommand Include="set PATH=%HELIX_CORRELATION_PAYLOAD%\az-cli\bin%3B%PATH%" />
189+
<HelixPreCommand Include="az --version" />
190+
</ItemGroup>
191+
192+
</Target>
193+
168194
<Target Name="BuildHelixWorkItems" DependsOnTargets="$(BuildHelixWorkItemsDependsOn)" BeforeTargets="Build">
169195
<MSBuild Projects="$(RepoRoot)\eng\dcppack\Aspire.Hosting.Orchestration.$(NETCoreSdkRuntimeIdentifier).csproj" Targets="GetDCPBinaryLocation">
170196
<Output TaskParameter="TargetOutputs" PropertyName="DCPBinaryLocation" />

0 commit comments

Comments
 (0)