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
4 changes: 2 additions & 2 deletions eng/pipelines/azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ extends:
justificationForDisabling: 'see https://portal.microsofticm.com/imp/v3/incidents/incident/482258316/summary'
sourceAnalysisPool:
name: NetCore1ESPool-Internal
image: windows.vs2022preview.amd64
image: windows.vs2026preview.scout.amd64
os: windows
tsa:
enabled: true
Expand Down Expand Up @@ -214,7 +214,7 @@ extends:

pool:
name: NetCore1ESPool-Internal
image: windows.vs2022preview.amd64
image: windows.vs2026preview.scout.amd64
os: windows

variables:
Expand Down
10 changes: 5 additions & 5 deletions eng/pipelines/release-publish-nuget.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ extends:
sdl:
sourceAnalysisPool:
name: NetCore1ESPool-Internal
image: windows.vs2022preview.amd64
image: windows.vs2026preview.scout.amd64
os: windows

stages:
Expand All @@ -74,7 +74,7 @@ extends:
displayName: 'Validate Release Inputs'
pool:
name: NetCore1ESPool-Internal
image: windows.vs2022preview.amd64
image: windows.vs2026preview.scout.amd64
os: windows
steps:
- checkout: none
Expand Down Expand Up @@ -109,7 +109,7 @@ extends:
displayName: 'Extract BAR Build ID from Build Tags'
pool:
name: NetCore1ESPool-Internal
image: windows.vs2022preview.amd64
image: windows.vs2026preview.scout.amd64
os: windows
steps:
- checkout: none
Expand Down Expand Up @@ -164,7 +164,7 @@ extends:
timeoutInMinutes: 60
pool:
name: NetCore1ESPool-Internal
image: windows.vs2022preview.amd64
image: windows.vs2026preview.scout.amd64
os: windows
steps:
- checkout: self
Expand Down Expand Up @@ -439,7 +439,7 @@ extends:
displayName: 'Print Release Summary'
pool:
name: NetCore1ESPool-Internal
image: windows.vs2022preview.amd64
image: windows.vs2026preview.scout.amd64
os: windows
steps:
- checkout: none
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/templates/build_sign_native.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
pool:
${{ if eq(parameters.agentOs, 'windows') }}:
name: NetCore1ESPool-Internal
image: windows.vs2022preview.amd64
image: windows.vs2026preview.scout.amd64
os: windows
${{ if eq(parameters.agentOs, 'linux') }}:
name: NetCore1ESPool-Internal
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/templates/public-pipeline-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ stages:

pool:
name: $(DncEngPublicBuildPool)
demands: ImageOverride -equals windows.vs2022preview.amd64.open
demands: ImageOverride -equals 1es-windows-2022-open

variables:
- name: _buildScript
Expand Down Expand Up @@ -119,7 +119,7 @@ stages:

pool:
name: $(DncEngPublicBuildPool)
demands: ImageOverride -equals build.ubuntu.2204.amd64.open
demands: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open

variables:
- name: _buildScript
Expand Down
14 changes: 9 additions & 5 deletions extension/schemas/aspire-global-settings.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -296,21 +296,25 @@
"type": "string"
},
"overrideStagingFeed": {
"description": "Override the NuGet feed URL used by the staging channel. When set, this URL is used instead of the default SHA-based build-specific feed.",
"description": "[Internal] Override the NuGet feed URL used by the staging channel. When set, this URL is used instead of the default SHA-based build-specific feed.",
"type": "string"
},
"overrideStagingQuality": {
"description": "Override the package quality filter for the staging channel. Set to \"Prerelease\" when staging builds are not yet marked as stable to use the shared daily feed instead of the SHA-based feed. Valid values: \"Stable\", \"Prerelease\", \"Both\".",
"description": "[Internal] Override the package quality filter for the staging channel. Set to \"Prerelease\" when staging builds are not yet marked as stable to use the shared daily feed instead of the SHA-based feed. Valid values: \"Stable\", \"Prerelease\", \"Both\".",
"type": "string",
"enum": [
"Stable",
"Prerelease",
"Both"
]
},
"stagingVersionPrefix": {
"description": "Filter staging channel packages to a specific Major.Minor version (e.g., \"13.2\"). When set, only packages matching this version prefix are shown, preventing newer daily versions from being selected.",
"type": "string"
"stagingPinToCliVersion": {
"description": "[Internal] When set to \"true\" and using the staging channel with Prerelease quality on the shared feed, all template and integration packages are pinned to the exact version of the installed CLI. This bypasses NuGet search entirely, ensuring version consistency.",
"type": "string",
"enum": [
"true",
"false"
]
}
},
"additionalProperties": false
Expand Down
14 changes: 9 additions & 5 deletions extension/schemas/aspire-settings.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -300,21 +300,25 @@
"type": "string"
},
"overrideStagingFeed": {
"description": "Override the NuGet feed URL used by the staging channel. When set, this URL is used instead of the default SHA-based build-specific feed.",
"description": "[Internal] Override the NuGet feed URL used by the staging channel. When set, this URL is used instead of the default SHA-based build-specific feed.",
"type": "string"
},
"overrideStagingQuality": {
"description": "Override the package quality filter for the staging channel. Set to \"Prerelease\" when staging builds are not yet marked as stable to use the shared daily feed instead of the SHA-based feed. Valid values: \"Stable\", \"Prerelease\", \"Both\".",
"description": "[Internal] Override the package quality filter for the staging channel. Set to \"Prerelease\" when staging builds are not yet marked as stable to use the shared daily feed instead of the SHA-based feed. Valid values: \"Stable\", \"Prerelease\", \"Both\".",
"type": "string",
"enum": [
"Stable",
"Prerelease",
"Both"
]
},
"stagingVersionPrefix": {
"description": "Filter staging channel packages to a specific Major.Minor version (e.g., \"13.2\"). When set, only packages matching this version prefix are shown, preventing newer daily versions from being selected.",
"type": "string"
"stagingPinToCliVersion": {
"description": "[Internal] When set to \"true\" and using the staging channel with Prerelease quality on the shared feed, all template and integration packages are pinned to the exact version of the installed CLI. This bypasses NuGet search entirely, ensuring version consistency.",
"type": "string",
"enum": [
"true",
"false"
]
}
},
"additionalProperties": false
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
{
"appHostPath": "../apphost.ts",
"language": "typescript/nodejs",
"channel": "pr-13970",
"sdkVersion": "13.2.0-pr.13970.g9fb24263",
"packages": {
"Aspire.Hosting.Azure.Storage": "13.2.0-pr.13970.g9fb24263"
"Aspire.Hosting.Azure.Storage": ""
}
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
{
"appHostPath": "../apphost.ts",
"language": "typescript/nodejs",
"channel": "local",
"sdkVersion": "13.2.0-preview.1.26081.1",
"packages": {
"Aspire.Hosting.RabbitMQ": "13.2.0-preview.1.26081.1"
"Aspire.Hosting.RabbitMQ": ""
}
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
{
"appHostPath": "../apphost.ts",
"language": "typescript/nodejs",
"channel": "pr-13970",
"sdkVersion": "13.1.0",
"packages": {
"Aspire.Hosting.SqlServer": "13.2.0-pr.13970.g0575147c"
"Aspire.Hosting.SqlServer": ""
}
}
}
1 change: 1 addition & 0 deletions src/Aspire.Cli/Aspire.Cli.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<EnablePackageValidation>false</EnablePackageValidation>
<AssemblyName>aspire</AssemblyName>
<RootNamespace>Aspire.Cli</RootNamespace>
Expand Down
9 changes: 7 additions & 2 deletions src/Aspire.Cli/Commands/AddCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,13 @@ protected override async Task<int> ExecuteAsync(ParseResult parseResult, Cancell
string? configuredChannel = null;
if (project.LanguageId != KnownLanguageId.CSharp)
{
var settings = AspireJsonConfiguration.Load(effectiveAppHostProjectFile.Directory!.FullName);
configuredChannel = settings?.Channel;
var appHostDirectory = effectiveAppHostProjectFile.Directory!.FullName;
var isProjectReferenceMode = AspireRepositoryDetector.DetectRepositoryRoot(appHostDirectory) is not null;
if (!isProjectReferenceMode)
{
var settings = AspireJsonConfiguration.Load(appHostDirectory);
configuredChannel = settings?.Channel;
}
}

var packagesWithChannels = await InteractionService.ShowStatusAsync(
Expand Down
9 changes: 4 additions & 5 deletions src/Aspire.Cli/Commands/CacheCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ protected override Task<int> ExecuteAsync(ParseResult parseResult, CancellationT
{
var cacheDirectory = ExecutionContext.CacheDirectory;
var filesDeleted = 0;

// Delete cache files and subdirectories
if (cacheDirectory.Exists)
{
Expand Down Expand Up @@ -110,14 +110,13 @@ protected override Task<int> ExecuteAsync(ParseResult parseResult, CancellationT

// Also clear the logs directory (skip current process's log file)
var logsDirectory = ExecutionContext.LogsDirectory;
// Log files are named cli-{timestamp}-{pid}.log, so we need to check the suffix
var currentLogFileSuffix = $"-{Environment.ProcessId}.log";
var currentLogFilePath = ExecutionContext.LogFilePath;
if (logsDirectory.Exists)
{
foreach (var file in logsDirectory.GetFiles("*", SearchOption.AllDirectories))
{
// Skip the current process's log file to avoid deleting it while in use
if (file.Name.EndsWith(currentLogFileSuffix, StringComparison.OrdinalIgnoreCase))
if (file.FullName.Equals(currentLogFilePath, StringComparison.OrdinalIgnoreCase))
{
continue;
}
Expand Down Expand Up @@ -167,4 +166,4 @@ protected override Task<int> ExecuteAsync(ParseResult parseResult, CancellationT
}
}
}
}
}
Loading
Loading