Update version.txt to 1.23.14 for release#7504
Merged
Merged
Azure Pipelines / azure-dev - cli
succeeded
Apr 4, 2026 in 1h 2m 5s
Build #20260403.51 had test failures
Details
- Failed: 9 (0.03%)
- Passed: 34,230 (99.58%)
- Other: 137 (0.40%)
- Total: 34,376
Annotations
Check failure on line 1 in TestCompletionFigAction_Run
azure-pipelines / azure-dev - cli
TestCompletionFigAction_Run
Failed
Raw output
=== RUN TestCompletionFigAction_Run
=== PAUSE TestCompletionFigAction_Run
=== CONT TestCompletionFigAction_Run
interface AzdEnvListItem {
Name: string;
DotEnvPath: string;
HasLocal: boolean;
HasRemote: boolean;
IsDefault: boolean;
}
interface AzdTemplateListItem {
name: string;
description: string;
repositoryPath: string;
tags: string[];
}
interface AzdExtensionListItem {
id: string;
name: string;
namespace: string;
version: string;
installedVersion: string;
source: string;
}
interface AzdConfigOption {
Key: string;
Description: string;
Type: string;
AllowedValues?: string[] | null;
Example?: string;
EnvVar?: string;
}
const azdGenerators: Record<string, Fig.Generator> = {
listEnvironments: {
script: ['azd', 'env', 'list', '--output', 'json'],
postProcess: (out) => {
try {
const envs: AzdEnvListItem[] = JSON.parse(out);
return envs.map((env) => ({
name: env.Name,
displayName: env.IsDefault ? 'Default' : undefined,
}));
} catch {
return [];
}
},
},
listEnvironmentVariables: {
script: ['azd', 'env', 'get-values', '--output', 'json'],
postProcess: (out) => {
try {
const envVars: Record<string, string> = JSON.parse(out);
return Object.keys(envVars).map((key) => ({
name: key,
}));
} catch {
return [];
}
},
},
listTemplates: {
script: ['azd', 'template', 'list', '--output', 'json'],
postProcess: (out) => {
try {
const templates: AzdTemplateListItem[] = JSON.parse(out);
return templates.map((template) => ({
name: template.repositoryPath,
description: template.name,
}));
} catch {
return [];
}
},
cache: {
strategy: 'stale-while-revalidate',
}
},
listTemplateTags: {
script: ['azd', 'template', 'list', '--output', 'json'],
postProcess: (out) => {
try {
const templates: AzdTemplateListItem[] = JSON.parse(out);
const tagsSet = new Set<string>();
// Collect all unique tags from all templates
templates.forEach((template) => {
if (template.tags && Array.isArray(template.tags)) {
template.tags.forEach((tag) => tagsSet.add(tag));
}
});
// Convert set to array and return as suggestions
return Array.from(tagsSet).sort().map((tag) => ({
name: tag,
}));
} catch {
return [];
}
},
cache: {
strategy: 'stale-while-revalidate',
}
},
listTemplatesFiltered: {
custom: async (tokens, executeCommand, generatorContext) => {
// Find if there's a -f or --filter flag in the tokens
let filterValue: string | undefined;
for (let i = 0; i < tokens.length; i++) {
if ((tokens[i] === '-f' || tokens[i] === '--filter') && i + 1 < tokens.length) {
filterValue = tokens[i + 1];
break;
}
}
// Build the azd command with filter if present
const args = ['template', 'list', '--output', 'json'];
if (filterValue) {
args.push('--filter', filterValue);
}
try {
const { stdout } = await executeCommand({
command: 'azd',
args: args,
});
const templates: AzdTemplateListItem[] = JSON.parse(stdout);
return templates.map((template) => ({
name: template.repositoryPath,
description: template.name,
}));
} catch {
return [];
}
},
cache: {
strategy: 'stale-while-revalidate',
}
},
listExtensions: {
script: ['azd', 'ext', 'list', '--output', 'json'],
postProcess: (out) => {
try {
const extensions: AzdExtensionListItem[] = JSON.parse(out);
const uniqueExtensions = new Map<string, AzdExtensionListItem>();
extensions.forEach((ext) => {
if (!uniqueExtensions.has(ext.id)) {
uniqueExtensions.set(ext.id, ext);
}
});
return Array.from(uniqueExtensions.values()).map((ext) => ({
name: ext.id,
description: ext.name,
}));
} catch {
return [];
}
},
cache: {
strategy: 'stale-while-revalidate',
}
},
listInstalledExtensions: {
script: ['azd', 'ext', 'list', '--installed', '--outpu
Check failure on line 1 in TestCompletionFigAction_Run
azure-pipelines / azure-dev - cli
TestCompletionFigAction_Run
Failed
Raw output
=== RUN TestCompletionFigAction_Run
=== PAUSE TestCompletionFigAction_Run
=== CONT TestCompletionFigAction_Run
interface AzdEnvListItem {
Name: string;
DotEnvPath: string;
HasLocal: boolean;
HasRemote: boolean;
IsDefault: boolean;
}
interface AzdTemplateListItem {
name: string;
description: string;
repositoryPath: string;
tags: string[];
}
interface AzdExtensionListItem {
id: string;
name: string;
namespace: string;
version: string;
installedVersion: string;
source: string;
}
interface AzdConfigOption {
Key: string;
Description: string;
Type: string;
AllowedValues?: string[] | null;
Example?: string;
EnvVar?: string;
}
const azdGenerators: Record<string, Fig.Generator> = {
listEnvironments: {
script: ['azd', 'env', 'list', '--output', 'json'],
postProcess: (out) => {
try {
const envs: AzdEnvListItem[] = JSON.parse(out);
return envs.map((env) => ({
name: env.Name,
displayName: env.IsDefault ? 'Default' : undefined,
}));
} catch {
return [];
}
},
},
listEnvironmentVariables: {
script: ['azd', 'env', 'get-values', '--output', 'json'],
postProcess: (out) => {
try {
const envVars: Record<string, string> = JSON.parse(out);
return Object.keys(envVars).map((key) => ({
name: key,
}));
} catch {
return [];
}
},
},
listTemplates: {
script: ['azd', 'template', 'list', '--output', 'json'],
postProcess: (out) => {
try {
const templates: AzdTemplateListItem[] = JSON.parse(out);
return templates.map((template) => ({
name: template.repositoryPath,
description: template.name,
}));
} catch {
return [];
}
},
cache: {
strategy: 'stale-while-revalidate',
}
},
listTemplateTags: {
script: ['azd', 'template', 'list', '--output', 'json'],
postProcess: (out) => {
try {
const templates: AzdTemplateListItem[] = JSON.parse(out);
const tagsSet = new Set<string>();
// Collect all unique tags from all templates
templates.forEach((template) => {
if (template.tags && Array.isArray(template.tags)) {
template.tags.forEach((tag) => tagsSet.add(tag));
}
});
// Convert set to array and return as suggestions
return Array.from(tagsSet).sort().map((tag) => ({
name: tag,
}));
} catch {
return [];
}
},
cache: {
strategy: 'stale-while-revalidate',
}
},
listTemplatesFiltered: {
custom: async (tokens, executeCommand, generatorContext) => {
// Find if there's a -f or --filter flag in the tokens
let filterValue: string | undefined;
for (let i = 0; i < tokens.length; i++) {
if ((tokens[i] === '-f' || tokens[i] === '--filter') && i + 1 < tokens.length) {
filterValue = tokens[i + 1];
break;
}
}
// Build the azd command with filter if present
const args = ['template', 'list', '--output', 'json'];
if (filterValue) {
args.push('--filter', filterValue);
}
try {
const { stdout } = await executeCommand({
command: 'azd',
args: args,
});
const templates: AzdTemplateListItem[] = JSON.parse(stdout);
return templates.map((template) => ({
name: template.repositoryPath,
description: template.name,
}));
} catch {
return [];
}
},
cache: {
strategy: 'stale-while-revalidate',
}
},
listExtensions: {
script: ['azd', 'ext', 'list', '--output', 'json'],
postProcess: (out) => {
try {
const extensions: AzdExtensionListItem[] = JSON.parse(out);
const uniqueExtensions = new Map<string, AzdExtensionListItem>();
extensions.forEach((ext) => {
if (!uniqueExtensions.has(ext.id)) {
uniqueExtensions.set(ext.id, ext);
}
});
return Array.from(uniqueExtensions.values()).map((ext) => ({
name: ext.id,
description: ext.name,
}));
} catch {
return [];
}
},
cache: {
strategy: 'stale-while-revalidate',
}
},
listInstalledExtensions: {
script: ['azd', 'ext', 'list', '--installed', '--outpu
Check failure on line 1 in Test_CLI_VsServer
azure-pipelines / azure-dev - cli
Test_CLI_VsServer
Failed
Raw output
=== RUN Test_CLI_VsServer
=== PAUSE Test_CLI_VsServer
=== CONT Test_CLI_VsServer
--- FAIL: Test_CLI_VsServer (12.83s)
Check failure on line 1 in Test_CLI_VsServer/ManageEnvironments
azure-pipelines / azure-dev - cli
Test_CLI_VsServer/ManageEnvironments
Failed
Raw output
=== RUN Test_CLI_VsServer/ManageEnvironments
=== PAUSE Test_CLI_VsServer/ManageEnvironments
=== CONT Test_CLI_VsServer/ManageEnvironments
vs_server_test.go:218: DIR: /var/folders/xf/zt5rjbcn7_33flm02zx_md_00000gn/T/Test_CLI_VsServerManageEnvironments2325906951/001
aspire_test.go:367: 303ms [svr-out] {"port":51768,"pid":2737,"certificateBytes":"MIIDDDCCAfSgAwIBAgIQczNWcU+DV3u2qXI3sD2A8TANBgkqhkiG9w0BAQsFADAeMRwwGgYDVQQKExNBenVyZSBEZXZlbG9wZXIgQ0xJMB4XDTI2MDQwNDAzMDkxMloXDTI2MDQxMTAzMDkxMlowHjEcMBoGA1UEChMTQXp1cmUgRGV2ZWxvcGVyIENMSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPcJZOOJ9gnzyeqXSOuvXMcEE2yzPgmCZV3RCRNziJz3rPZczp8/VgbDd/72DjvTrINMCR3rkHxSzYfvBCf0MyzCx/JkEw46fqtk6f54+eGgU2oBKhozvF1ttNNr5NVuDDcYRfXOcPfn/KFgWNjqxCAC0YJ6oJXPQTSzn6IXondioiuCBdMXr/VnJY7GFd6vdRBnsbk999f2EcTV1jyT4dObfjWY8yt3xHqCQaCXaJDgdndQ0GsK+Hhx7HSH24AOdiPnsIOUhuUaMT9FVbYEaIv9pjQ29FdpErkvrpEJvXqfZAg2o25MUNHvQI2wGNOBWAm9DhKAQAgFdbn2HRs2x9MCAwEAAaNGMEQwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwDwYDVR0RBAgwBocEfwAAATANBgkqhkiG9w0BAQsFAAOCAQEA6UzyYGpsy8RSZkkvcwuMHfmj8wX9rQ7mzkIh+IyThkuLkLxwa1bO01WOBZTqTDunRnYaI7MFepkulqtrEti0cTAEA9Q/Ek5/HZ9Cnc/q4Dy5bcSKBK3wsLdqxTmBLvMkWqF+xAp6hwH+Kf1QrXijjsEDma1i0pkLr9oQ3CToK4Nodg1y+gJ3RPVafDenyb5RV1wM5XQvSASwiTLlE39kDAW5YahsdYzHI6QCzK7HMwVbuu06rRSLpfTH+EY+uGETDLMXzX/sb+5F7RUVC9hVCHglMXlufhq8/xTA3qhqxyvaUpPS8oGhvrz2RmPTb8QlQnHeZ+aLbnl7ZbTez+A7hw==","azd":{"version":"1.23.14-pr.6108690","commit":"dfdd484665eb04a72b8c39f25e12244368c1ca52"}}
aspire_test.go:367: 1.765s [t-out] Test run for /Users/runner/work/1/s/cli/azd/test/functional/testdata/vs-server/tests/bin/Debug/net8.0/AzdVsServerTests.dll (.NETCoreApp,Version=v8.0)
aspire_test.go:367: 1.892s [t-out] VSTest version 17.14.1 (x64)
aspire_test.go:367: 1.895s [t-out]
aspire_test.go:367: 2.051s [t-out] Starting test execution, please wait...
aspire_test.go:367: 2.1s [t-out] A total of 1 test files matched the specified pattern.
aspire_test.go:367: 41.085s [svr-out] [rg9FD5NFnJ8= spinner] Analyzing Aspire Application (this might take a moment...)
aspire_test.go:367: 1m13.094s [svr-out] [rg9FD5NFnJ8= spinner] Analyzing Aspire Application (this might take a moment...)
aspire_test.go:367: 1m33.147s [svr-out] [rg9FD5NFnJ8= spinner] Discovering resources to delete...
aspire_test.go:367: 4m35.058s [t-out] Failed ManageEnvironments [4 m 29 s]
aspire_test.go:367: 4m35.058s [t-out] Error Message:
aspire_test.go:367: 4m35.059s [t-out] StreamJsonRpc.RemoteInvocationException : deleting infrastructure: error deleting Azure resources: finding completed deployments: GET https://management.azure.com/subscriptions/4d042dc6-fe17-4698-a23f-ec6a8d1e98f4/providers/Microsoft.Resources/deployments/
aspire_test.go:367: 4m35.059s [t-out] --------------------------------------------------------------------------------
aspire_test.go:367: 4m35.059s [t-out] RESPONSE 503: 503 Service Unavailable
aspire_test.go:367: 4m35.059s [t-out] ERROR CODE: ServerTimeout
aspire_test.go:367: 4m35.059s [t-out] --------------------------------------------------------------------------------
aspire_test.go:367: 4m35.059s [t-out] {
aspire_test.go:367: 4m35.059s [t-out] "error": {
aspire_test.go:367: 4m35.059s [t-out] "code": "ServerTimeout",
aspire_test.go:367: 4m35.059s [t-out] "message": "The request timed out. Diagnostic information: timestamp '20260404T031347Z', subscription id '4d042dc6-fe17-4698-a23f-ec6a8d1e98f4', tracking id '4727dfb2-1990-4d46-b002-89b439afafc0', request correlation id '4727dfb2-1990-4d46-b002-89b439afafc0'."
aspire_test.go:367: 4m35.059s [t-out] }
aspire_test.go:367: 4m35.059s [t-out] }
aspire_test.go:367: 4m35.059s [t-out] --------------------------------------------------------------------------------
aspire_test.go:367: 4m35.059s [t-out]
aspire_test.go:367: 4m35.059s [t-out] Stack Trace:
aspire_test.go:367: 4m35.059s [t-out] at Strea
Loading