-
Couldn't load subscription status.
- Fork 712
[release/9.2] Add RPC protocol compat check. #8604
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* Add RPC protocol compat check. * Fix merge conflict. * Fix spelling. * Update DotNetCliRunner.cs Co-authored-by: David Fowler <[email protected]> * Improve error message with version info. --------- Co-authored-by: David Fowler <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 64 out of 68 changed files in this pull request and generated 2 comments.
Files not reviewed (4)
- eng/Signing.props: Language not supported
- eng/Versions.props: Language not supported
- playground/OpenAIEndToEnd/OpenAIEndToEnd.WebStory/OpenAIEndToEnd.WebStory.csproj: Language not supported
- playground/publishers/Publishers.AppHost/qots/Dockerfile: Language not supported
| private static readonly ActivitySource s_activitySource = new ActivitySource(nameof(AppHostHelper)); | ||
|
|
||
| internal static async Task<(bool IsCompatableAppHost, bool SupportsBackchannel)> CheckAppHostCompatabilityAsync(DotNetCliRunner runner, FileInfo projectFile, CancellationToken cancellationToken) | ||
| internal static async Task<(bool IsCompatableAppHost, bool SupportsBackchannel, string? AspireHostingSdkVersion)> CheckAppHostCompatabilityAsync(DotNetCliRunner runner, FileInfo projectFile, CancellationToken cancellationToken) |
Copilot
AI
Apr 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider renaming 'IsCompatableAppHost' to 'IsCompatibleAppHost' to correct the spelling throughout the compatibility check API.
| internal static async Task<(bool IsCompatableAppHost, bool SupportsBackchannel, string? AspireHostingSdkVersion)> CheckAppHostCompatabilityAsync(DotNetCliRunner runner, FileInfo projectFile, CancellationToken cancellationToken) | |
| internal static async Task<(bool IsCompatibleAppHost, bool SupportsBackchannel, string? AspireHostingSdkVersion)> CheckAppHostCompatabilityAsync(DotNetCliRunner runner, FileInfo projectFile, CancellationToken cancellationToken) |
| .StartAsync(":hammer_and_wrench: Building app host...", async context => { | ||
| await _runner.BuildAsync(effectiveAppHostProjectFile, cancellationToken).ConfigureAwait(false); | ||
| }); | ||
| if (!appHostCompatabilityCheck?.IsCompatableAppHost ?? throw new InvalidOperationException("IsCompatableAppHost is null")) |
Copilot
AI
Apr 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider renaming 'IsCompatableAppHost' to 'IsCompatibleAppHost' to maintain consistency and correct spelling in condition checks.
| if (!appHostCompatabilityCheck?.IsCompatableAppHost ?? throw new InvalidOperationException("IsCompatableAppHost is null")) | |
| if (!appHostCompatabilityCheck?.IsCompatibleAppHost ?? throw new InvalidOperationException("IsCompatibleAppHost is null")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Spelling!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Internal .. going to leave it like this for now. Will fix in main.
* Fix --watch hangs. * Don't prebuild in watch mode. * Fix up merge.
Manual backport of #8577 to release/9.2
Customer Impact
This PR introduces an API to the AppHost RPC target which allows the CLI to query for a set of capabilities. If the required capabilities are not available then the CLI can terminate with an error message indicating the missing required capability. At the moment there is only one capability
baseline.v0. This will also allow us to implement graceful fallback of behaviors in the future.Testing
Manual
Risk
Moderate
Regression?
No