Repository navigation
Graduate pipeline output service APIs to stable - #20814
Conversation
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 20814Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 20814" |
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
🟢 Approval recommended
The changes consistently graduate the API while preserving signatures and implementation behavior.
0 open findings
What changed in this PR
Graduates IPipelineOutputService from experimental status without changing runtime behavior.
Changes:
- Removes
ASPIREPIPELINES004attributes and suppressions. - Retains a targeted suppression for experimental
PipelineOptions.
| File | Description |
|---|---|
tests/Aspire.Hosting.TestUtilities/Helpers/JsonDocumentManifestPublisher.cs |
Removes obsolete suppression. |
tests/Aspire.Hosting.Tests/DistributedApplicationBuilderTests.cs |
Removes obsolete suppression. |
src/Shared/PublishingContextUtils.cs |
Removes obsolete suppression. |
src/Aspire.Hosting/Pipelines/PipelineOutputService.cs |
Graduates implementation while suppressing PipelineOptions. |
src/Aspire.Hosting/Pipelines/IPipelineOutputService.cs |
Graduates the public interface. |
src/Aspire.Hosting/DistributedApplicationBuilder.cs |
Removes obsolete suppression. |
src/Aspire.Hosting.Radius/Publishing/SealedSecretApplyStep.cs |
Removes obsolete suppression. |
src/Aspire.Hosting.Radius/Publishing/RadiusDeploymentPipelineStep.cs |
Removes obsolete suppression. |
src/Aspire.Hosting.Radius/Publishing/RadiusBicepPublishingContext.cs |
Removes obsolete suppression. |
src/Aspire.Hosting.Radius/Publishing/RadCredentialRegisterStep.cs |
Removes obsolete suppression. |
src/Aspire.Hosting.EntityFrameworkCore/EFResourceBuilderExtensions.cs |
Removes localized suppression. |
src/Aspire.Hosting.Azure/AzureEnvironmentResource.cs |
Removes obsolete suppression. |
src/Aspire.Hosting.Azure.Sandboxes/AzureSandboxContainerDeployment.cs |
Removes obsolete suppression. |
🧠 Review effort: Balanced
Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
James Newton-King (JamesNK)
left a comment
There was a problem hiding this comment.
Reviewed all 13 changed files and relevant service consumers and existing tests. No high-confidence findings. Changes are limited to experimental attributes and diagnostic suppression cleanup; method signatures, runtime behavior, and DI registration are unchanged. Validation: git diff --check passed; current PR checks show 282 successful and 16 skipped checks. No local builds or tests were run.
1838eac to
bb501b9
Compare
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
🟢 Approval recommended
The changes consistently graduate the API without altering signatures or runtime behavior.
0 open findings
🧠 Review effort: Balanced
Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.
Remove ASPIREPIPELINES004 attributes and obsolete consumer suppressions while preserving all API signatures and directory behavior. Keep PipelineOptions experimental with a local implementation suppression. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
bb501b9 to
5679885
Compare
Tests selector50 / 98 PR test projects · 4 PR jobs, from 13 changed files. Selected PR test projects (50 / 98)
Selected PR jobs (4)
How these were chosen — grouped by what changed
🧪 show 29
🔧 🔧 🧪 🔧 📦 affected project 🔧 🔧 🔧 🔧 🔧 🔧 Job reasons
Selection computed for commit |
|
Pull request created: #1852
|
|
📝 Documentation has been drafted in microsoft/aspire.dev#1852 targeting Updated Note This draft PR needs human review before merging. |
Description
Graduate the pipeline output-directory API family so consumers can use
IPipelineOutputServicewithout suppressingASPIREPIPELINES004.The only actual source declarations carrying this diagnostic are
IPipelineOutputServiceand the internalPipelineOutputService. Remove both experimental attributes, their unused imports, and all suppressions for this diagnostic in hosting, Azure deployment infrastructure, Entity Framework Core, Radius, the linked publishing helper, and test consumers.All four method signatures, output/temp-directory behavior, resource-specific routing, defaults, and lifecycle/cleanup semantics remain unchanged. This PR introduces no graduation of other diagnostic families. Rebased onto
4932ff6cfd, preserving the filesystem and core-pipeline graduations already onmain; the previously necessary localPipelineOptionssuppression is no longer needed becausePipelineOptionsis now stable onmain.No directly related documentation explicitly labels this family experimental. The generated
api/*.csbaseline is intentionally untouched and remains the soleASPIREPIPELINES004reference. This is an independent change based onmain, not stacked on other graduation PRs. No new dependencies or package/version changes.User-facing usage
Given an
IPipelineOutputService outputServiceand anIResource resource, the existing calls no longer require anASPIREPIPELINES004suppression:Validation
Passed on macOS arm64:
Result: succeeded, 0 warnings and 0 errors (initial validation).
Re-run after rebasing onto
4932ff6cfd:Result: 3 passed, 0 failed, 0 skipped. Covers the AppHost-directory default, explicit output-path precedence with an invalid AppHost directory, and current-directory fallback. Builds hosting and its test utilities as dependencies.
Result: all six builds succeeded with 0 warnings and 0 errors, including every project linking
PublishingContextUtils.cs.Result: passed. An exact-content comparison (ignoring blank lines) verified that all 13 changed files contain only diagnostic-specific cleanup; all signatures and executable code match
main.Limitations: full solution/test suite, native AOT builds, and live cloud deployments were not run for this attribute-only graduation.
Fixes # (issue)
Checklist
<remarks />and<code />elements on your triple slash comments?