Revert "Fix port mismatch for bait-and-switch resources in Kubernetes publisher"#14649
Revert "Fix port mismatch for bait-and-switch resources in Kubernetes publisher"#14649joperezr merged 1 commit intorelease/13.2from
Conversation
… publish…" This reverts commit 63ff050.
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 14649Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 14649" |
There was a problem hiding this comment.
Pull request overview
This PR reverts changes from PR #14590 that were accidentally merged from main into release/13.2. The original PR was intended for release/13.2 but during retargeting, it inadvertently merged all changes from main into the release branch.
Changes:
- Reverts version from 13.3.0 back to 13.2.0
- Removes Kubernetes bait-and-switch resource fix (ResourceNameComparer)
- Removes newly added performance measurement tooling (Measure-StartupPerformance.ps1, TraceAnalyzer)
- Reverts VS Code extension CLI path resolution to simpler approach
- Downgrades build infrastructure (Arcade SDK from 10.0.0 to 11.0.0-beta versions)
- Removes workflow files (backmerge-release.yml, daily-repo-status.yml)
- Updates milestone assignments and test quarantines
Reviewed changes
Copilot reviewed 73 out of 73 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| eng/Versions.props | Reverts version from 13.3 to 13.2 |
| src/Aspire.Hosting.Kubernetes/KubernetesEnvironmentContext.cs | Removes ResourceNameComparer from dictionary initialization |
| tools/perf/* | Removes performance measurement scripts and TraceAnalyzer tool |
| extension/src/utils/* | Simplifies CLI path resolution by removing auto-detection logic |
| global.json, eng/Version.Details.xml | Downgrades Arcade SDK tooling versions |
| tests/**/*.cs | Adds QuarantinedTest attributes to flaky tests |
| tests/**/Snapshots/* | Removes test snapshots for deleted Kubernetes test |
| .github/workflows/* | Removes backmerge and daily status workflows |
| eng/common/* | Updates Arcade build infrastructure scripts |
| .github/policies/milestoneAssignment.prClosed.yml | Updates milestone assignments for release branches |
| internal sealed class KubernetesEnvironmentContext(KubernetesEnvironmentResource environment, ILogger logger) | ||
| { | ||
| private readonly Dictionary<IResource, KubernetesResource> _kubernetesComponents = new(new ResourceNameComparer()); | ||
| private readonly Dictionary<IResource, KubernetesResource> _kubernetesComponents = []; |
There was a problem hiding this comment.
The removal of ResourceNameComparer from the _kubernetesComponents dictionary initialization in KubernetesEnvironmentContext may break the bait-and-switch resource pattern.
Other publisher contexts (Docker Compose, Azure Container Apps, Azure App Service) use ResourceNameComparer for their resource dictionaries to handle scenarios where resources are transformed during the pipeline. Without this comparer, the dictionary will use reference equality instead of name-based equality, which could cause resources that have been swapped during model transformations to not be found in the dictionary.
This is a revert PR, so this change is intentional to undo the original fix. However, this means the release/13.2 branch will not have the port mismatch fix for bait-and-switch resources in Kubernetes publisher.
| getAspireCliExecutablePath(): string { | ||
| const aspireCliPath = vscode.workspace.getConfiguration('aspire').get<string>('aspireCliExecutablePath', ''); | ||
| if (aspireCliPath && aspireCliPath.trim().length > 0) { | ||
| extensionLogOutputChannel.debug(`Using user-configured Aspire CLI path: ${aspireCliPath}`); | ||
| return aspireCliPath.trim(); | ||
| } | ||
|
|
||
| extensionLogOutputChannel.debug('No user-configured Aspire CLI path found'); | ||
| return "aspire"; | ||
| } |
There was a problem hiding this comment.
The VS Code extension is reverting to a simpler CLI path resolution approach that doesn't automatically detect the CLI in default installation locations (~/.aspire/bin or ~/.dotnet/tools).
This removes sophisticated fallback logic that would:
- Check user-configured path
- Fall back to PATH
- Fall back to default installation directories
- Automatically update VS Code settings when CLI found at default locations
Users who have the Aspire CLI installed in the default locations but not on PATH will need to manually configure the aspire.aspireCliExecutablePath setting after this change. This is a revert, so this is intentional to undo the feature, but it may affect user experience on the release/13.2 branch.
🎬 CLI E2E Test RecordingsThe following terminal recordings are available for commit
📹 Recordings uploaded automatically from CI run #22361697829 |
Reverts #14590.
That PR was retargeted from main to release/13.2, and that accidentally meant it merged all changes from main into release/13.2. Reverting this for now to undo that, and we will manually recreate this PR against release/13.2