Skip to content

Add Aspire agent extensions to agent init - #19486

Draft
Ella Hathaway (ellahathaway) wants to merge 1 commit into
ellahathaway-agent-asset-mcpfrom
ellahathaway-support-multiple-agent-assets
Draft

Add Aspire agent extensions to agent init#19486
Ella Hathaway (ellahathaway) wants to merge 1 commit into
ellahathaway-agent-asset-mcpfrom
ellahathaway-support-multiple-agent-assets

Conversation

@ellahathaway

@ellahathaway Ella Hathaway (ellahathaway) commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

Description

aspire agent init currently installs only skills, even though the Aspire Skills repository publishes multiple agent-asset bundles. This change adds Extension support end to end so users can install the aspire-doctor canvas extension at project or user scope without introducing a parallel acquisition pipeline.

The implementation keeps AgentAssetKind as the lightweight boundary between skills and extensions. AspireSkillsInstaller remains the product-level installer for artifacts from microsoft/aspire-skills, while singleton IAspireSkillsBundleProvider implementations supply kind-specific metadata and validation. The shared abstract provider owns archive extraction, manifest loading, compatibility checks, embedded resources, hashing, and safe path validation.

This PR:

  • adds Extension assets and project .github/extensions / user ~/.copilot/extensions locations;
  • adds --extensions and --extension-locations to agent init, init, and new;
  • adds SkillBundleProvider and ExtensionBundleProvider on the shared Aspire Skills provider path;
  • preserves bundle bytes exactly, while treating known text files as line-ending-equivalent for idempotency;
  • keeps skills and extensions on one lockstep release version and configuration surface, with distinct archive, cache, resource, and telemetry identities;
  • embeds aspire-extensions-v0.0.1.tgz containing aspire-doctor and requires normal GitHub release metadata and artifact attestation;
  • updates and verifies both sibling release assets atomically through the plural bundle scripts/workflows;
  • records distinct bundle acquisition telemetry plus allowlisted Extension-tool invocation telemetry; and
  • prompts for Extensions only when a GitHub Copilot App installation is detected, while preserving explicit options with a warning when no compatible client is detected.

Related to #19013.

User-facing usage

Install the Aspire Doctor extension for a project:

aspire agent init --extension-locations project --extensions aspire-doctor

Install it for the current user:

aspire agent init --extension-locations user --extensions aspire-doctor

The same extension options are also accepted by aspire init and aspire new.

Screenshots / Recordings

This PR includes UI changes. Please add screenshots or screen recordings so reviewers can evaluate the visual changes without running locally.

  • For before/after comparisons, place them side-by-side or label them clearly.
  • For interactive changes, prefer a short screen recording.

TODO: Capture the interactive Extension location and asset selection prompts from aspire agent init.

Security considerations

Extensions contain executable JavaScript that Copilot loads from project or user directories. Both Aspire Skills release archives must be published together and verified against the microsoft/aspire-skills release workflow attestation before their embedded snapshots are accepted. The runtime also validates archive containment, manifest paths, required entry files, and per-file hashes before installation.

Validation:

  • Aspire.Cli.Tests builds with zero warnings and errors.
  • Focused CLI tests pass across bundle providers, acquisition, telemetry, AgentInit, binary payload preservation, client gating, transactional publication, and Playwright workspace mirroring.
  • Infrastructure tests pass for bundle hashing, test-trigger mapping, and scheduled-workflow registration.
  • Both plural PowerShell scripts parse successfully.
  • Against the current upstream v0.0.1, update/verification stops at the missing Extension release asset/attestation without modifying tracked files; this gate will pass after the sibling asset is published.

Checklist

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
      • If yes, did you have an API Review for it?
        • Yes
        • No
      • Did you add <remarks /> and <code /> elements on your triple slash comments?
        • Yes
        • No
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes
        • No
    • No
Copilot AI balanced review requested due to automatic review settings August 19, 2026 04:09
@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 -- 19486

Or

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

This comment has been minimized.

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

Generalizes the CLI’s skills infrastructure into typed agent-asset models while preserving existing skills behavior.

Changes:

  • Adds agent client, asset, file, and location abstractions.
  • Makes bundle acquisition, manifests, caching, and telemetry descriptor-driven.
  • Updates focused CLI tests for the generalized contracts.

Reviewed changes

Copilot reviewed 36 out of 36 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/Aspire.Cli.Tests/TestServices/FakePlaywrightServices.cs Updates the fake bundle installer and manifest.
tests/Aspire.Cli.Tests/Commands/InitCommandTests.cs Uses generalized asset locations.
tests/Aspire.Cli.Tests/Commands/AgentInitCommandTests.cs Updates command, bundle, and client tests.
tests/Aspire.Cli.Tests/Agents/TelemetryHookConfiguratorTests.cs Migrates telemetry tests to client definitions.
tests/Aspire.Cli.Tests/Agents/CommonAgentApplicatorsTests.cs Verifies generalized locations and scopes.
tests/Aspire.Cli.Tests/Agents/AspireSkillsInstallerTests.cs Updates acquisition tests and adds telemetry coverage.
tests/Aspire.Cli.Tests/Agents/AspireSkillsBundleTests.cs Tests generalized assets and manifest mappings.
src/Aspire.Cli/Telemetry/TelemetryConstants.cs Adds shared asset-bundle telemetry tags.
src/Aspire.Cli/Projects/AppHostCandidateFinder.cs Updates the location reference.
src/Aspire.Cli/Commands/InitCommand.cs Uses generalized asset locations.
src/Aspire.Cli/Commands/AgentInitCommand.cs Migrates skill installation to asset abstractions.
src/Aspire.Cli/Agents/VsCode/VsCodeAgentEnvironmentScanner.cs Reports the VS Code client definition.
src/Aspire.Cli/Agents/SkillLocation.cs Removes the skill-specific location model.
src/Aspire.Cli/Agents/SkillDefinition.cs Derives skills from the asset definition.
src/Aspire.Cli/Agents/Playwright/PlaywrightCliInstaller.cs Uses asset locations for skill mirroring.
src/Aspire.Cli/Agents/OpenCode/OpenCodeAgentEnvironmentScanner.cs Reports the OpenCode client definition.
src/Aspire.Cli/Agents/Hooks/TelemetryHookConfigurator.cs Uses agent client definitions.
src/Aspire.Cli/Agents/Hooks/ITelemetryHookConfigurator.cs Updates telemetry hook contracts.
src/Aspire.Cli/Agents/CopilotCli/CopilotCliAgentEnvironmentScanner.cs Reports the Copilot CLI definition.
src/Aspire.Cli/Agents/ClaudeCode/ClaudeCodeAgentEnvironmentScanner.cs Reports the Claude Code definition.
src/Aspire.Cli/Agents/AspireSkills/TemporaryCacheDirectory.cs Generalizes cache documentation.
src/Aspire.Cli/Agents/AspireSkills/SkillBundleManifest.cs Generalizes manifest assets.
src/Aspire.Cli/Agents/AspireSkills/IAspireSkillsInstaller.cs Adds asset-kind selection.
src/Aspire.Cli/Agents/AspireSkills/EmbeddedAspireSkillsBundleProvider.cs Resolves embedded bundles by descriptor.
src/Aspire.Cli/Agents/AspireSkills/AspireSkillsInstaller.cs Introduces descriptor-driven bundle installers.
src/Aspire.Cli/Agents/AspireSkills/AspireSkillsBundleVersions.cs Centralizes the bundle version.
src/Aspire.Cli/Agents/AspireSkills/AspireSkillsBundleProvider.cs Generalizes bundle loading and JSON contracts.
src/Aspire.Cli/Agents/AspireSkills/AspireSkillsBundleDescriptors.cs Defines the skills bundle descriptor.
src/Aspire.Cli/Agents/AspireSkills/AspireSkillsBundle.cs Exposes generalized asset definitions and files.
src/Aspire.Cli/Agents/AgentEnvironmentScanContext.cs Tracks agent client definitions.
src/Aspire.Cli/Agents/AgentClientKind.cs Removes the client enum.
src/Aspire.Cli/Agents/AgentClient.cs Defines clients and supported asset kinds.
src/Aspire.Cli/Agents/AgentAssetLocation.cs Adds typed locations and scopes.
src/Aspire.Cli/Agents/AgentAssetKind.cs Defines agent asset kinds.
src/Aspire.Cli/Agents/AgentAssetFile.cs Adds the generalized asset-file model.
src/Aspire.Cli/Agents/AgentAssetDefinition.cs Adds the shared asset-definition base class.

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

Copilot AI review requested due to automatic review settings August 19, 2026 16:26

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

Copilot reviewed 36 out of 36 changed files in this pull request and generated no new comments.

Copilot AI review requested due to automatic review settings August 19, 2026 16:38

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

Copilot reviewed 36 out of 36 changed files in this pull request and generated no new comments.

Suppressed comments (1)

src/Aspire.Cli/Agents/AspireSkills/AspireSkillsInstaller.cs:724

  • Cached installations set agent.asset_bundle.cache_hit but never set agent.asset_bundle.source, so the new acquisition telemetry has no source on every successful cache path (both embedded and GitHub caches). Set the source before returning a cached result—either to a defined cache value or to persisted/derived original provenance—and cover a cached install in the telemetry test.
            activity?.SetTag(TelemetryConstants.Tags.AgentAssetBundleCacheHit, true);
@github-actions

This comment has been minimized.

@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.

Copilot AI review requested due to automatic review settings August 19, 2026 22:59

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

Copilot reviewed 55 out of 56 changed files in this pull request and generated no new comments.

Files not reviewed (1)
  • src/Aspire.Cli/Resources/AgentCommandStrings.Designer.cs: Generated file
Copilot AI review requested due to automatic review settings August 19, 2026 23:06
@github-actions

This comment has been minimized.

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

Copilot reviewed 55 out of 56 changed files in this pull request and generated no new comments.

Files not reviewed (1)
  • src/Aspire.Cli/Resources/AgentCommandStrings.Designer.cs: Generated file
@github-actions

This comment has been minimized.

@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.

@github-actions

This comment has been minimized.

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

Copilot reviewed 55 out of 56 changed files in this pull request and generated no new comments.

Files not reviewed (1)
  • src/Aspire.Cli/Resources/AgentCommandStrings.Designer.cs: Generated file
Copilot AI review requested due to automatic review settings August 26, 2026 19:27
@ellahathaway
Ella Hathaway (ellahathaway) force-pushed the ellahathaway-support-multiple-agent-assets branch from c7daaa7 to 81e4ad9 Compare August 28, 2026 19:55
@github-actions

This comment has been minimized.

@ellahathaway
Ella Hathaway (ellahathaway) force-pushed the ellahathaway-support-multiple-agent-assets branch from 81e4ad9 to 4e70efd Compare August 28, 2026 20:03

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

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

Files not reviewed (1)
  • src/Aspire.Cli/Resources/AgentCommandStrings.Designer.cs: Generated file
Suppressed comments (1)

src/Aspire.Cli/Agents/AspireSkills/Embedded/aspire-extensions.metadata.json:5

  • The referenced microsoft/aspire-skills v0.0.1 release currently publishes only aspire-skills-v0.0.1.tgz; this executable extension archive therefore has no matching release asset or attestation, so the new verification workflow cannot pass. Publish and attest the sibling extension asset, then rerun the plural updater to replace this archive/metadata before merging.
  "assetName": "aspire-extensions-v0.0.1.tgz",
Comment thread src/Aspire.Cli/Commands/AgentInitCommand.cs Outdated
Copilot AI review requested due to automatic review settings August 28, 2026 20:03
@github-actions

This comment has been minimized.

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

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

Files not reviewed (1)
  • src/Aspire.Cli/Resources/AgentCommandStrings.Designer.cs: Generated file
Comment thread src/Aspire.Cli/Commands/AgentTelemetryCommand.cs Outdated
Ankit Jain (radical) added a commit to radical/aspire that referenced this pull request Aug 28, 2026
Resolves review findings from Claude Opus 5 (high) and GPT-5.6 Sol
(high) on the selector rename-handling fix.

Quoted-path parsing bug (GPT F2): `ResolveChangedFiles` parsed
`git diff --name-status -M` output by splitting on literal tabs and
newlines while only disabling non-ASCII quoting via
`-c core.quotePath=false`. Git's default quoting still C-style-escapes
tabs, newlines, quotes, and backslashes in paths, which would corrupt
attribution for any changed path containing those bytes. Switched to
`git diff --name-status -M -z`, which is NUL-terminated and never
quotes/escapes any byte (NUL cannot appear in a valid path), and
rewrote the parser to walk NUL-delimited tokens instead of splitting
on tabs/newlines. Added a regression test using a same-commit rename
with a literal tab byte in the path.

Stale comments and test doc clarifications (Opus F2/F4, GPT F3, Opus
F3/F5):
- Corrected a comment in `RenameOutOfMappedPathStillSelectsItsTests`
  that still described the old `--no-renames` approach.
- Added a clarifying note to `RenameBelowGitSimilarityThresholdIsNot-
  ExemptedAndStillForcesRunAll`'s docstring, cross-referencing the
  tests that actually fail on reversion of the exemption.
- Added a docstring note on the golden `TestTriggerMapTests` case
  acknowledging its coupling to the live map is by design.
- Wrapped a temp directory in try/finally with cleanup in
  `SameCommitRenameWithMapEntryMovedToNewPathSelectsExactTargets-
  WithoutEscalating`, matching the project's established convention.

Residual risk (both reviewers, F1): git's `-M` rename detection is a
content-similarity heuristic, not a semantic guarantee, so it can in
rare cases mispair two unrelated files that happen to be highly
similar. Raising the similarity threshold isn't viable — PR microsoft#19486's
own motivating rename was only detected at R054. Documented this as an
accepted, bounded limitation in both `TestSelector.cs` and
`docs/ci/test-trigger-map.md` rather than attempting a fragile
mitigation.

Layer 1's `GraphAffectedProjects.cs` has an analogous quoted-path
parsing gap, but it is untouched by this PR's diff and is left as a
follow-up rather than expanded scope here.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 7380ea02-bd9c-4638-a860-33cf32d59d46
Ankit Jain (radical) added a commit to radical/aspire that referenced this pull request Aug 28, 2026
…a undetected rename

Automated review on PR microsoft#19790 pointed out that the existing golden test
only replayed 2 of the 3 files PR microsoft#19486 actually renamed, so it could
pass while the PR's stated motivating scenario -- the literal PR microsoft#19486
diff -- still selects ALL today, for an undetected reason.

That's true: `verify-aspire-skills-bundle.ps1` was rewritten heavily
enough in the same commit that git's default -M50% similarity threshold
reports it as a plain delete+add, not a rename, so this fix's exemption
(keyed on git-detected renames) never applies to it. Reproduced directly
against the real PR microsoft#19486 commits with the fixed selector
(`--skip-layer1 --enforce`): the run still selects ALL, citing that file
as the sole unattributed leftover.

Add a companion golden test that replays PR microsoft#19486's complete three-path
diff (not just the two git-detected renames) against the real production
map, asserting the fallback still fires for the undetected file. This
makes the existing, correct scope limitation explicit and falsifiable
instead of only described in a comment. Also tightens the existing golden
test's comment to point at the new test by name.

No production code changes; this is test/documentation scope
clarification only, following up on automated PR review feedback.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 7380ea02-bd9c-4638-a860-33cf32d59d46
Ankit Jain (radical) added a commit to radical/aspire that referenced this pull request Aug 29, 2026
…afety gap

An earlier commit on this branch exempted a rename's old path from the
selector's run-all fallback when its new path was already present in
the changed-file set. An audit found that exemption unsafe: a rename
out of a directory-scoped glob (e.g. tests/Shared/Logging/**) can leave
other consumers of that glob with no signal, and a rename whose new
path is ignored or dropped by the prefilter satisfied the exemption's
presence check without anything ever evaluating the destination. Both
cases could silently under-select tests. Remove the exemption; renames
are intentionally un-special-cased again, and an unmatched rename old
path forces ALL like any other unaccounted-for change.

Separately, while tracing this, Layer 1's git-diff parser
(GraphAffectedProjects.GetChangedPathsFromGit) was found to still use
git's default text-mode --name-status output, split on raw
newline/tab bytes, while Layer 2 (Program.cs) already used a
NUL-delimited -z parser. Git's text mode double-quotes and
backslash-escapes any path containing a tab, newline, double quote, or
backslash; -c core.quotePath=false only suppresses non-ASCII-byte
escaping, not this class of path. A quoted/escaped path never matches
Layer 1's evaluated-item index or directory-containment fallback, so
it silently fails to attribute to its owning project -- an
under-selection risk, not a fail-safe one.

Layer 1 now issues the same `git diff --name-status -M -z` Layer 2
uses, and both layers parse it through one shared method
(Selection.ParseNameStatusOutput) instead of two independently
maintained parsers that had drifted.

Net effect for renames: replaying PR microsoft#19486's exact diff still selects
ALL today (the exemption that would have avoided that is gone). That is
the accepted, safe tradeoff. The bug this commit actually fixes is the
narrower NUL-safety gap above, found during the same investigation.

Adds regression coverage under tests/Infrastructure.Tests/TestTriggerMap/
for: a tab-containing renamed path being correctly attributed instead
of garbled (RenamedFileWithTabInPathIsAttributedCorrectlyNotGarbledByQuoting,
CrossProjectRenameIntoTabContainingPathAttributesTheNewOwner,
RenameIntoTabContainingPathIsAttributedByLayer1InsteadOfUnderSelecting);
truncated -z input failing loudly instead of silently returning a
partial set (ParseNameStatusOutputThrowsOnTruncatedRenameRecord,
ParseNameStatusOutputThrowsOnTruncatedPlainRecord); and renames
correctly forcing ALL with no special-casing
(InPlaceRenameWithoutOwnMapEntryForcesRunAll,
InPlaceRenameToPrefilteredDestinationForcesRunAll,
RenameWhoseOldPathIncidentallyMatchesAnUnrelatedRuleStillAddsBothTargets,
RenameOldPathUnmatchedForcesRunAllLikeAnyOtherLeftover,
RenameWithBothUnmatchedPathsListsBothInUnmatchedFiles,
RenameWhereBothPathsMatchTheirOwnRuleAddsTargetAdditively,
SameCommitRenameWithMapEntryMovedToNewPathForcesRunAll -- the last a
golden-scenario replay of PR microsoft#19486's real diff at head
1e46e48).

docs/ci/test-trigger-map.md and docs/ci/test-trigger-selector-design.md
are updated to describe the rename decision and the shared -z parser.

Refs microsoft#19486

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 7380ea02-bd9c-4638-a860-33cf32d59d46
Copilot AI review requested due to automatic review settings August 31, 2026 16:35
@ellahathaway
Ella Hathaway (ellahathaway) force-pushed the ellahathaway-support-multiple-agent-assets branch from 4e70efd to 295c834 Compare August 31, 2026 16:35
@github-actions

This comment has been minimized.

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

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

Files not reviewed (1)
  • src/Aspire.Cli/Resources/AgentCommandStrings.Designer.cs: Generated file
Suppressed comments (1)

src/Aspire.Cli/Agents/AspireSkills/Embedded/aspire-extensions.metadata.json:5

  • The referenced microsoft/aspire-skills v0.0.1 release currently contains only aspire-skills-v0.0.1.tgz; this Extension asset is not published there. The plural updater therefore cannot reproduce this embedded executable from the declared release, and runtime acquisition can never fetch it, violating the PR's requirement that both sibling assets be published together. Publish/attest the sibling asset first and regenerate these files with the updater, or reference a release that already contains it.
  "assetName": "aspire-extensions-v0.0.1.tgz",
Comment on lines 626 to +629
var segments = normalizedPath.Split(Path.DirectorySeparatorChar, StringSplitOptions.RemoveEmptyEntries);
if (segments.Length == 0 || segments.Any(static segment => !IsPortablePathSegment(segment)))
{
throw new InvalidOperationException(string.Format(CultureInfo.InvariantCulture, "Aspire skills bundle path '{0}' is not safe.", relativePath));
throw new InvalidOperationException($"{DisplayName} bundle path '{relativePath}' is not safe.");
@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.

@github-actions

This comment has been minimized.

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

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

Files not reviewed (1)
  • src/Aspire.Cli/Resources/AgentCommandStrings.Designer.cs: Generated file
throw new InvalidOperationException($"Agent asset transaction directory '{transactionDirectoryPath}' changed unexpectedly.");
}

Directory.Delete(transactionDirectoryPath, recursive: true);
@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.

@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.

@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.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: ef2868ca-9135-456a-8efe-ff7ee7e426e0
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Tests selector

Selects the full PR test matrix + all PR-gated jobs (ALL) — run-all fallback: 'eng/scripts/aspire-skills-bundle.common.ps1' is neither Layer-1-owned nor matched by a Layer 2 rule

Advisory workflow impact (4)

  • Aspire.Deployment.EndToEnd.Tests (deployment workflow-only)
  • Aspire.EndToEnd.Tests (outerloop-only)
  • Aspire.Oracle.EntityFrameworkCore.Tests (outerloop-only)
  • deployment-e2e (schedule/dispatch-only)

Selection computed for commit 5cad4f9.

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

Copilot reviewed 62 out of 64 changed files in this pull request and generated no new comments.

Files not reviewed (1)
  • src/Aspire.Cli/Resources/AgentCommandStrings.Designer.cs: Generated file
@github-actions

github-actions Bot commented Sep 1, 2026

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.

@github-actions

github-actions Bot commented Sep 1, 2026

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.

@github-actions

github-actions Bot commented Sep 1, 2026

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.

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

Labels

2 participants