Skip to content

Shorten long CLI E2E test names and improve recording comment table#17830

Merged
JamesNK merged 2 commits into
mainfrom
jamesnk/shorten-e2e-test-names
Jun 2, 2026
Merged

Shorten long CLI E2E test names and improve recording comment table#17830
JamesNK merged 2 commits into
mainfrom
jamesnk/shorten-e2e-test-names

Conversation

@JamesNK

@JamesNK JamesNK commented Jun 2, 2026

Copy link
Copy Markdown
Member

Summary

Two related improvements to CLI E2E test ergonomics:

1. Shorten long test method names

The longest test name (UpdateProjectChannelToStable_TypeScript_PreviewsStablePackagesAndPreservesChannel at 81 chars) caused readability issues in CI logs, PR comments, and the recording table. Shortened 11 test names exceeding 70 chars to ~55-60 chars while preserving meaning.

2. Compact recording comment table format

Changed the PR recording comment from a 5-column table (Status | Test | Recording | Job | Artifacts) to a more compact 3-column table (- | Test | Detail) where links are combined in the Detail cell with <br /> separators. This reduces horizontal scrolling on narrower views.

Example output:

- Test Detail
UpdateToStable_TypeScript_PreviewsStablePkgsAndKeepsChannel Recording
Job
CLI logs

…ormat

- Shorten 11 test method names exceeding 70 chars to ~55-60 chars
- Update recording comment workflow to use compact 3-column table
  (Status | Test | Detail) with links combined via <br /> separators
- Update troubleshooting.md reference to renamed test
Copilot AI review requested due to automatic review settings June 2, 2026 08:18
@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 17830

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 17830"

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR improves CLI E2E test ergonomics by shortening overly long xUnit test method names (which also affect recording filenames) and by compacting the GitHub Actions PR comment that summarizes uploaded CLI E2E recordings.

Changes:

  • Shortened several CLI E2E test method names to reduce noise in CI logs and recording tables.
  • Updated the cli-e2e-recording-comment workflow to emit a 3-column table and combine related links into a single “Detail” cell using <br />.
  • Updated the CLI E2E troubleshooting guide to reference the renamed test method.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/Aspire.Cli.EndToEnd.Tests/UpdateChannelNuGetConfigOrderingTests.cs Renames the regression test method to a shorter identifier (affects recording filename).
tests/Aspire.Cli.EndToEnd.Tests/TypeScriptPolyglotTests.cs Renames a TypeScript polyglot E2E test method to a shorter identifier.
tests/Aspire.Cli.EndToEnd.Tests/ResourceCommandTests.cs Renames a resource-command E2E test method to a shorter identifier.
tests/Aspire.Cli.EndToEnd.Tests/PlaywrightCliInstallTests.cs Renames the Playwright agent-init regression test method to a shorter identifier.
tests/Aspire.Cli.EndToEnd.Tests/CSharpProjectModeInitTests.cs Renames two aspire init project-mode E2E test methods to shorter identifiers.
tests/Aspire.Cli.EndToEnd.Tests/ChannelUpdateWorkflowTests.cs Renames the channel-update workflow tests to shorter identifiers.
tests/Aspire.Cli.EndToEnd.Tests/AgentCommandTests.cs Renames the bundle-only skills installability E2E test method to a shorter identifier.
.github/workflows/cli-e2e-recording-comment.yml Compacts the PR comment recording table and combines links into a single Detail cell.
.agents/skills/cli-e2e-testing/troubleshooting.md Updates documentation to reference the renamed test method.

Comment on lines 454 to 456
# Build the detail cell with links separated by <br />
DETAIL_PARTS=""
if [ -n "$ASCIINEMA_URL" ]; then
@JamesNK JamesNK enabled auto-merge (squash) June 2, 2026 13:20
@JamesNK JamesNK merged commit 7a93f3d into main Jun 2, 2026
617 of 621 checks passed
@JamesNK JamesNK deleted the jamesnk/shorten-e2e-test-names branch June 2, 2026 14:33
@microsoft-github-policy-service microsoft-github-policy-service Bot added this to the 13.5 milestone Jun 2, 2026
@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

CLI E2E Tests unknown — 110 passed, 0 failed, 2 unknown (commit 1a7a1d7)

View all recordings
Status Test Recording Job Artifacts
AddPackageInteractiveWhileAppHostRunningDetached Recording #79094182195 Logs
AddPackageWhileAppHostRunningDetached Recording #79094182195 Logs
AgentCommands_AllHelpOutputs_AreCorrect Recording #79094182236 Logs
AgentInitCommand_DefaultSelection_InstallsDefaultSkills Recording #79094182236 Logs
AgentInitCommand_MigratesDeprecatedConfig Recording #79094182236 Logs
AgentInit_NonInteractive_BundleOnlySkillsNotInCatalog Recording #79094182236 Logs
AgentMcpListStructuredLogsReturnsLogsFromStarterApp Recording #79094183696 Logs
AgentMcpListStructuredLogsReturnsLogsFromStarterApp_DevLocalhost Recording #79094183696 Logs
AgentMcpListStructuredLogsReturnsLogsFromStarterApp_Isolated Recording #79094183696 Logs
AllPublishMethodsBuildDockerImages Recording #79094181772 Logs
AspireAddAndStartWorkAgainstLegacyAppHostTs Recording #79094181864 Logs
AspireAddPackageVersionToDirectoryPackagesProps Recording #79094180807 Logs
AspireInitSingleFileAppHostRunsViaDotnetRunAppHost Recording #79094183459 Logs
AspireInit_ExistingAppHostDir_RecreatesNuGetConfigKeepsFiles Recording #79094181744 Logs
AspireInit_SolutionFile_BuildsAgainstChannelHive Recording #79094181744 Logs
AspireStartUpdatesStaleTypeScriptAppHostPath Recording #79094182944 Logs
AspireUpdateRemovesAppHostPackageVersionFromDirectoryPackagesProps Recording #79094180807 Logs
AspireUpdateRemovesOrphanAppHostPackageVersionWhenSdkAlreadyCurrent Recording #79094180807 Logs
Banner_DisplayedOnFirstRun Recording #79094182535 Logs
Banner_DisplayedWithExplicitFlag Recording #79094182535 Logs
Banner_NotDisplayedWithNoLogoFlag Recording #79094182535 Logs
CertificatesClean_RemovesCertificates Recording #79094181861 Logs
CertificatesTrust_WithNoCert_CreatesAndTrustsCertificate Recording #79094181861 Logs
CertificatesTrust_WithUntrustedCert_TrustsCertificate Recording #79094181861 Logs
ConfigSetGet_CreatesNestedJsonFormat Recording #79094180594 Logs
CreateAndRunAspireStarterProject Recording #79094182223 Logs
CreateAndRunAspireStarterProjectWithBundle Recording #79094181713 Logs
CreateAndRunEmptyAppHostProject Recording #79094181968 Logs
CreateAndRunJavaEmptyAppHostProject Recording #79094181669 Logs
CreateAndRunJsReactProject Recording #79094181870 Logs
CreateAndRunPolyglotAppHostWithDevLocalhostUrls Recording #79094182223 Logs
CreateAndRunPythonReactProject Recording #79094183855 Logs
CreateAndRunTypeScriptEmptyAppHostProject Recording #79094181952 Logs
CreateAndRunTypeScriptStarterProject Recording #79094182422 Logs
CreateJavaAppHostWithViteApp Recording #79094183238 Logs
CreateTypeScriptAppHostWithViteApp_UsesConfiguredToolchain Recording #79094182855 Logs
DashboardRunWithAgentMcpListTracesReturnsNoTraces Recording #79094181579 Logs
DashboardRunWithAgentMcpListTracesReturnsNoTraces_DevLocalhost Recording #79094181579 Logs
DashboardRunWithOtelTracesReturnsNoTraces Recording #79094181579 Logs
DashboardRunWithOtelTracesReturnsNoTraces_DevLocalhost Recording #79094181579 Logs
DeployK8sBasicApiService Recording #79094180812 Logs
DeployK8sWithExternalHelmChart Recording #79094183369 Logs
DeployK8sWithGarnet Recording #79094181972 Logs
DeployK8sWithMongoDB Recording #79094181630 Logs
DeployK8sWithMySql Recording #79094183237 Logs
DeployK8sWithPostgres Recording #79094182050 Logs
DeployK8sWithRabbitMQ Recording #79094182308 Logs
DeployK8sWithRedis Recording #79094181055 Logs
DeployK8sWithSqlServer Recording #79094182381 Logs
DeployK8sWithValkey Recording #79094181548 Logs
DeployTypeScriptAppToKubernetes Recording #79094183951 Logs
DescribeCommandResolvesReplicaNames Recording #79094182965 Logs
DescribeCommandShowsRunningResources Recording #79094182965 Logs
DetachFormatJsonProducesValidJson Recording #79094183971 Logs
DetachFormatJsonProducesValidJsonWhenRestartingExistingInstance Recording #79094183971 Logs
DoPublishAndDeployListStepsWork Recording #79094181942 Logs
DocsCommand_RendersInteractiveMarkdownFromLocalSource Recording #79094181093 Logs
DoctorCommand_DetectsDeprecatedAgentConfig Recording #79094182236 Logs
DoctorCommand_TypeScriptAppHostReportsMissingConfiguredToolchain Recording #79094180984 Logs
DoctorCommand_WithSslCertDir_ShowsTrusted Recording #79094180984 Logs
DoctorCommand_WithoutSslCertDir_ShowsPartiallyTrusted Recording #79094180984 Logs
GatewayWithoutExternalEndpoint_FailsPublishWithGuidance Recording #79094181510 Logs
GeneratedAspireDevScript_StartsWatchMode_WithConfiguredToolchain Recording #79094182855 Logs
GlobalMigration_HandlesCommentsAndTrailingCommas Recording #79094180594 Logs
GlobalMigration_HandlesMalformedLegacyJson Recording #79094180594 Logs
GlobalMigration_PreservesAllValueTypes Recording #79094180594 Logs
GlobalMigration_SkipsWhenNewConfigExists Recording #79094180594 Logs
GlobalSettings_MigratedFromLegacyFormat Recording #79094180594 Logs
IngressWithoutExternalEndpoint_FailsPublishWithGuidance Recording #79094181510 Logs
InitTypeScriptAppHost_AugmentsExistingViteRepoInWorkspaceSubdirectory Recording #79094182855 Logs
InteractiveCSharpInitCreatesExpectedFiles Recording #79094183876 Logs
InvalidAppHostPathWithComments_IsHealedOnRun Recording #79094180631 Logs
JavaScriptHostingApisRunFromTypeScriptAppHost Recording #79094181772 Logs
LatestCliCanStartStableChannelAppHost Recording #79094182223 Logs
LatestCliCanStartStableChannelTypeScriptAppHost Recording #79094182223 Logs
LegacySettingsMigration_AdjustsRelativeAppHostPath Recording #79094182944 Logs
LogsCommandShowsResourceLogs Recording #79094183386 Logs
OtelLogsReturnsStructuredLogsFromStarterApp Recording #79094181776 Logs
OtelLogsReturnsStructuredLogsFromStarterAppIsolated Recording #79094181776 Logs
PsCommandListsRunningAppHost Recording #79094183496 Logs
PsFormatJsonOutputsOnlyJsonToStdout Recording #79094183496 Logs
PublishJavaScriptPatternsGeneratesExpectedDockerComposeArtifacts Recording #79094182167 Logs
PublishWithConfigureEnvFileUpdatesEnvOutput Recording #79094182167 Logs
PublishWithDockerComposeServiceCallbackSucceeds Recording #79094182167 Logs
PublishWithoutOutputPathUsesAppHostDirectoryDefault Recording #79094182167 Logs
ResourceCommand_FailedExec_ShowsLogPathAndLogHasEntries Recording #79094181664 Logs
ResourceCommand_SetAndDeleteParameterUpdatesDescribeOutput Recording #79094181664 Logs
RestoreGeneratesSdkFiles Recording #79094183372 Logs
RestoreGeneratesSdkFiles_WithConfiguredToolchain Recording #79094183321 Logs
RestoreRefreshesGeneratedSdkAfterAddingIntegration Recording #79094183321 Logs
RestoreSupportsConfigOnlyHelperPackageAndCrossPackageTypes Recording #79094183062 Logs
RunFromParentDirectory_UsesExistingConfigNearAppHost Recording #79094183683 Logs
RunReportsSyntaxErrorsForDotNetAppHost Recording #79094183458 Logs
RunReportsSyntaxErrorsForTypeScriptAppHost Recording #79094183458 Logs
SecretCrudOnDotNetAppHost Recording #79094183380 Logs
SecretCrudOnTypeScriptAppHost Recording #79094181273 Logs
StagingChannel_ConfigureAndVerifySettings_ThenSwitchChannels Recording #79094181350 Logs
StartAndWaitForTypeScriptSqlServerAppHostWithNativeAssets Recording #79094181961 Logs
StartReportsSyntaxErrorsForDotNetAppHost Recording #79094183458 Logs
StartReportsSyntaxErrorsForTypeScriptAppHost Recording #79094183458 Logs
StopAllAppHostsFromAppHostDirectory Recording #79094183598 Logs
StopJavaPolyglotAppHostUsingApphostDirectory Recording #79094183660 Logs
StopNonInteractiveSingleAppHost Recording #79094183598 Logs
StopTypeScriptPolyglotAppHostUsingApphostDirectory Recording #79094180988 Logs
StopWithNoRunningAppHostExitsSuccessfully Recording #79094182195 Logs
TypeScriptAppHostRunDoesNotDeadlockWhenLazyOptionsInvokeAsyncCallback Recording #79094181952 Logs
TypeScriptAppHostWithVite_AllowsDifferentGuestPkgManager Recording #79094182855 Logs
UnAwaitedChainsCompileWithAutoResolvePromises Recording #79094183321 Logs
UpdateToStable_CSharpEmptyAppHost_KeepsConfigChannel Recording #79094181996 Logs
UpdateToStable_CSharpSingleFileInit_KeepsConfigChannel Recording #79094181996 Logs
UpdateToStable_TypeScriptSingleFileInit_KeepsConfigChannel Recording #79094181996 Logs
UpdateToStable_TypeScript_PreviewsStablePkgsAndKeepsChannel Recording #79094181996 Logs

📹 Recordings uploaded automatically from CI run #26813217987

@aspire-repo-bot

Copy link
Copy Markdown
Contributor

✅ No documentation update needed.

docs_optional → test_only / build_or_ci_only / agent_or_skill_content. No signals triggered (signal_count = 0; only_test_or_build_changes = true). All 9 changed files are under tests/, .github/workflows/, or .agents/skills/ — none touch user-facing source, public API, CLI commands, or documentation. The PR solely renames E2E test methods for readability and reformats the CI recording comment table.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants