Skip to content

[release/13.5] Report actionable errors when DotnetProjectResource is published - #19399

Merged
Jose Perez Rodriguez (joperezr) merged 1 commit into
release/13.5from
backport/pr-19190-to-release/13.5
Aug 15, 2026
Merged

[release/13.5] Report actionable errors when DotnetProjectResource is published#19399
Jose Perez Rodriguez (joperezr) merged 1 commit into
release/13.5from
backport/pr-19190-to-release/13.5

Conversation

@aspire-repo-bot

Copy link
Copy Markdown
Contributor

Backport of #19190 to release/13.5

/cc Karol Zadora-Przylecki (@karolz-ms)

Customer Impact

Testing

Risk

Regression?

Copilot AI balanced review requested due to automatic review settings August 14, 2026 21:43
@github-actions

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 -- 19399

Or

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

@github-actions github-actions Bot added the area-app-model Issues pertaining to the APIs in Aspire.Hosting, e.g. DistributedApplication label Aug 14, 2026

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

Note

Copilot could not run the full agentic suite for this review because it was automatically requested on a bot-authored pull request. Request a review from Copilot under Reviewers to retry with the full agentic suite. Improved support for bot-authored pull requests is coming soon.

This PR prevents DotnetProjectResource from being automatically published/deployed and adds an actionable error message, along with tests and documentation to cover/describe the new behavior.

Changes:

  • Add pipeline validation to fail publish/deploy when untransformed DotnetProjectResource instances are present.
  • Add extensive tests covering manifest publishing and pipeline execution behavior across steps/modes.
  • Document publishing limitations and recommended alternatives for DotnetProjectResource.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
tests/Aspire.Hosting.Dotnet.Tests/DotnetProjectResourceTests.cs Adds test coverage ensuring publish/deploy fail early and alternative opt-ins (exclude/custom/dockerfile) work.
src/Aspire.Hosting.Dotnet/README.md Documents that automatic publishing is unsupported and points to supported alternatives.
src/Aspire.Hosting.Dotnet/DotnetProjectResource.cs Implements publish/deploy pipeline gating + legacy manifest publishing failure for unsupported resources.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/Aspire.Hosting.Dotnet/DotnetProjectResource.cs
Comment thread tests/Aspire.Hosting.Dotnet.Tests/DotnetProjectResourceTests.cs
@github-actions

Copy link
Copy Markdown
Contributor

Tests selector (audit mode)

The full test matrix and all jobs still run in audit mode. The tests and jobs below are what selective CI would run under enforcement.

3 / 100 test projects · 2 jobs, from 2 changed files.

Selected test projects (3 / 100)

Aspire.Hosting.Blazor.Tests, Aspire.Hosting.Dotnet.Tests, Aspire.Playground.Tests

Selected jobs (2)

extension-e2e, typescript-api-compat


How these were chosen — grouped by what changed

🔧 src/Aspire.Hosting.Dotnet/DotnetProjectResource.cs (changed source)
1 directly: Aspire.Hosting.Dotnet.Tests
2 via the project graph: Aspire.Hosting.Blazor.Tests (2 hops), Aspire.Playground.Tests (2 hops)

🧪 tests/Aspire.Hosting.Dotnet.Tests/DotnetProjectResourceTests.cs (changed test)
1 directly: Aspire.Hosting.Dotnet.Tests

Job reasons

Job Triggered by
extension-e2e src/Aspire.Hosting.Dotnet/DotnetProjectResource.cs
• affected project Aspire.Hosting.Dotnet
typescript-api-compat affected project Aspire.Hosting.Dotnet

Selection computed for commit e03af4f.

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Brand new feature, scoped change, making explicit a previously silent error. Approved. Thanks Karol!

@joperezr
Jose Perez Rodriguez (joperezr) merged commit 67dd76f into release/13.5 Aug 15, 2026
678 of 681 checks passed
@joperezr
Jose Perez Rodriguez (joperezr) deleted the backport/pr-19190-to-release/13.5 branch August 15, 2026 18:06
@microsoft-github-policy-service microsoft-github-policy-service Bot added this to the 13.5 milestone Aug 15, 2026
@aspire-repo-bot

Copy link
Copy Markdown
Contributor Author

✅ No documentation update needed.

Step 5 branch: excluded → base_branch_is_release, head_branch_is_backport, title_release_prefix, body_backport_marker

This PR is a backport (Backport of #19190 to release/13.5, title prefixed [release/13.5], base branch is release/13.5), so per workflow rules it is out of scope for docs generation — the original forward PR (#19190) on the default branch is the canonical place for its documentation.

Triggered signals (1): integration_readme_changed (src/Aspire.Hosting.Dotnet/README.md matched integration README pattern).

Exclusion reasons: base_branch_is_release, head_branch_is_backport, title_release_prefix, body_backport_marker.

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

Labels

area-app-model Issues pertaining to the APIs in Aspire.Hosting, e.g. DistributedApplication

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants