Skip to content
Merged
Show file tree
Hide file tree
Changes from 68 commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
1350d74
Add VS Code extension telemetry for engagement, view, debug, and dash…
Copilot May 30, 2026
beb873f
Address code-review feedback on extension telemetry PR
adamint May 30, 2026
a1082b7
Fix dashboard telemetry contract, privacy, and bearer parsing in exte…
adamint May 30, 2026
a5f505e
Bound dashboard telemetry to fixed classification surface
adamint May 30, 2026
3f754cd
Fix telemetry privacy/security issues in dashboard passthrough
adamint May 30, 2026
4eaa4f7
Harden dashboard telemetry passthrough at JSON boundary
adamint May 30, 2026
02ec78c
Address Copilot review: command outcome and bearer-only error message
adamint May 30, 2026
2ec4f55
remove data and telemetry section
adamint May 31, 2026
5156b37
Fix extension telemetry review issues
adamint May 31, 2026
cb02794
Secure dashboard telemetry passthrough
adamint May 31, 2026
cbc01af
Add VS Code extension E2E architecture
adamint Jun 1, 2026
1ecc9da
Document targeted extension test runs
adamint Jun 1, 2026
eb71231
Merge microsoft/main into extension E2E branch
adamint Jun 1, 2026
4ba440b
Record extension E2E failures on Linux
adamint Jun 1, 2026
876be31
Fix extension E2E fixture restore feeds
adamint Jun 1, 2026
b1894d3
Upload hidden extension E2E diagnostics
adamint Jun 1, 2026
7d42feb
Install recorder for Linux extension E2E
adamint Jun 1, 2026
a7ae5fa
Print extension E2E diagnostics artifact links
adamint Jun 1, 2026
73bad6f
Clarify extension unit test CI job name
adamint Jun 1, 2026
1479bbf
Stabilize extension E2E on latest VS Code
adamint Jun 1, 2026
0329f39
Clean partial VS Code downloads before retry
adamint Jun 1, 2026
b70bfdc
Stabilize VS Code extension E2E runs
adamint Jun 1, 2026
621123e
Fix extension settings command workspace cwd
adamint Jun 1, 2026
6f4c6e6
Fix empty AppHost discovery state
adamint Jun 1, 2026
03795dc
Merge upstream main and improve E2E logs
adamint Jun 1, 2026
ca10d80
Fix extension tests on Windows paths
adamint Jun 1, 2026
4d9bbc3
Suppress VS Code keychain prompts in E2E
adamint Jun 1, 2026
2be5e3c
Merge remote-tracking branch 'upstream/main' into adamint/vscode-exte…
adamint Jun 1, 2026
26003b6
Refresh AppHost discovery when workspace opens
adamint Jun 1, 2026
927ceb9
Stabilize extension E2E workspace startup
adamint Jun 1, 2026
578c4cc
Harden extension E2E workspace timeout diagnostics
adamint Jun 1, 2026
811b8c8
Stabilize extension E2E coverage
adamint Jun 1, 2026
aa7b89a
Opt out Aspire CLI telemetry in extension E2E
adamint Jun 1, 2026
dca86a4
Use internal npm feed for extension E2E
adamint Jun 1, 2026
9f75107
Preflight extension E2E internal npm feed
adamint Jun 1, 2026
0dd305b
Seed Corepack for extension E2E workflow
adamint Jun 2, 2026
c53dda3
Harden extension E2E cleanup and feed gating
adamint Jun 2, 2026
8e31c34
Clarify extension E2E feed preflight failure
adamint Jun 2, 2026
dfee17c
Cover AppHost-specific resource children
adamint Jun 2, 2026
025b98c
Harden VS Code extension E2E tests
adamint Jun 2, 2026
2e4a5e6
Fix dashboard URL output logging
adamint Jun 2, 2026
a67756e
Fix E2E diagnostic cleanup flakiness
adamint Jun 2, 2026
cff0ce1
Redact E2E result artifacts
adamint Jun 2, 2026
7ee6be0
Fix VS Code E2E review findings
adamint Jun 2, 2026
19a7e95
Stabilize AppHost repository lifecycle tests
adamint Jun 2, 2026
bb5664f
Harden AppHost lifecycle test waits
adamint Jun 2, 2026
a03c655
Stabilize workspace change regression
adamint Jun 2, 2026
ec94ac8
Make workspace cleanup regression deterministic
adamint Jun 2, 2026
8597431
Skip unavailable VS Code E2E dependency cleanly
adamint Jun 2, 2026
f92f568
Stabilize Windows peer probe tests
adamint Jun 2, 2026
0e2c694
Pin VS Code E2E ExTester graph
adamint Jun 2, 2026
3836912
Use Node 20 compatible Undici pin
adamint Jun 2, 2026
1bbd100
Harden VS Code E2E shard cleanup
adamint Jun 2, 2026
6e32d17
Support configured Windows CLI wrappers
adamint Jun 2, 2026
a84b6ee
Harden Windows CLI wrapper validation
adamint Jun 2, 2026
1ec83c0
Use cmd call for Windows CLI wrappers
adamint Jun 2, 2026
a4a0953
Harden VS Code E2E diagnostics and tree actions
adamint Jun 2, 2026
97e490b
Retry transient terminal channel reads
adamint Jun 2, 2026
3c0a45d
Harden VS Code E2E review fixes
adamint Jun 2, 2026
d797f72
Preserve hidden AppHost on cleanup failure
adamint Jun 2, 2026
96e40bf
Probe dashboard origin in E2E tests
adamint Jun 2, 2026
a120f83
Merge remote-tracking branch 'upstream/main' into adamint/vscode-exte…
adamint Jun 2, 2026
a8a5bcf
Follow dashboard login redirects in E2E probe
adamint Jun 2, 2026
352dcc1
Harden extension E2E AppHost cleanup
adamint Jun 2, 2026
b8ee968
Address extension E2E review feedback
adamint Jun 2, 2026
5e75f0d
Harden extension E2E timeout and teardown paths
adamint Jun 2, 2026
7905fb4
Keep hidden AppHost outside E2E workspace
adamint Jun 2, 2026
2fc2d93
Disable telemetry for extension E2E VS Code runs
adamint Jun 2, 2026
cb8369c
Flush VS Code extension output before CLI exit
adamint Jun 2, 2026
80c412f
Guard current CLI extension E2E regression
adamint Jun 2, 2026
30be052
Harden extension E2E diagnostics and AppHost stop state
adamint Jun 2, 2026
ead5927
Use platform-native paths in extension tree tests
adamint Jun 2, 2026
e0c8acc
Show stopping state for workspace AppHost candidates
adamint Jun 2, 2026
c96916f
Reacquire Aspire tree section in E2E description waits
adamint Jun 2, 2026
12c3804
Harden extension E2E terminal state handling
adamint Jun 2, 2026
3a2ac60
Harden CLI profiling and peer probe tests
adamint Jun 2, 2026
4db24eb
Harden extension stop E2E diagnostics
adamint Jun 2, 2026
b03bc55
Stabilize Windows extension E2E cleanup
adamint Jun 2, 2026
d983a7b
Stabilize debug dashboard E2E teardown
adamint Jun 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .agents/skills/cli-e2e-testing/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -611,6 +611,35 @@ When CLI E2E tests fail in CI, follow these steps to diagnose the issue:

> **Flaky test investigation:** for recurring/intermittent failures, see [`troubleshooting.md`](./troubleshooting.md) for a catalog of known flake classes (Y/n input race, prompt-counter desync, etc.) and the recipes to identify them from `.cast` recordings.

### VS Code Extension E2E Diagnostics

VS Code extension E2E jobs upload shard-specific diagnostics as `extension-e2e-diagnostics-<rid>-<shard>-attempt<N>` artifacts. Linux shards include `.mp4` display recordings from Xvfb by default; Windows shards do not record video and instead rely on screenshots, VS Code logs, state files, and workspace diagnostics.

```bash
# List VS Code extension E2E diagnostic artifacts for a run.
gh api "repos/microsoft/aspire/actions/runs/<run-id>/artifacts?per_page=100" --paginate \
--jq '.artifacts[] | select(.name | startswith("extension-e2e-diagnostics")) | "\(.size_in_bytes)\t\(.name)"'

# Download one shard's diagnostics. The artifact contains .mp4 recordings
# on Linux, .ffmpeg.log files, screenshots, VS Code logs, state files, and
# captured workspace diagnostics.
mkdir -p ./e2e-diagnostics && cd ./e2e-diagnostics
gh run download <run-id> --repo microsoft/aspire \
-n extension-e2e-diagnostics-linux-x64-<shard>-attempt<N> \
-D <shard>
```

Important paths inside the downloaded shard:

```text
<shard>/.test-recordings/<shard>/<runId>.mp4
<shard>/.test-recordings/<shard>/<runId>.ffmpeg.log
<shard>/.test-storage/**/screenshots/
<shard>/.test-results/e2e/<shard>/extension-state.json
```

The workflow keeps Linux recordings by default with `ASPIRE_EXTENSION_E2E_RECORDING_MODE=always`. Use `failure` to keep only failed-run videos or `off` to disable recording for local runs.

### Quick Start: Download and Play Recordings

The fastest way to debug a CLI E2E test failure is to download and play the asciinema recording.
Expand Down
1 change: 1 addition & 0 deletions .github/agents/agentic-workflows.agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,3 +176,4 @@ gh aw compile --validate
- Follow security best practices: minimal permissions, explicit network access, no template injection
- **Network configuration**: Use ecosystem identifiers (`node`, `python`, `go`, etc.) or explicit FQDNs in `network.allowed`. Bare shorthands like `npm` or `pypi` are **not** valid. See https://github.com/github/gh-aw/blob/v0.72.0/.github/aw/network.md for the full list of valid ecosystem identifiers and domain patterns.
- **Single-file output**: When creating a workflow, produce exactly **one** workflow `.md` file. Do not create separate documentation files (architecture docs, runbooks, usage guides, etc.). If documentation is needed, add a brief `## Usage` section inside the workflow file itself.
- **User-facing changelog/release-note output**: Workflows that generate changelogs, release notes, status reports intended for release communication, or related summaries must explicitly exclude non-user-facing issues and PRs. Do not include agentic workflow, automation, CI/build, test-only, dependency-bump, release-engineering, changelog-generation, or repository-maintenance changes unless they directly change the released product experience for users.
8 changes: 8 additions & 0 deletions .github/workflows/extension-changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -238,12 +238,20 @@ enrich when helpful (for example `is:pr is:merged repo:microsoft/aspire` queries
to confirm PR titles and labels). You may also read the changed file list /
diff under `extension/` to understand what actually changed.

Exclude anything that is not user-facing. A change is user-facing only when
someone using the VS Code extension can observe it in commands, settings,
debugging, tree views, walkthroughs, diagnostics, packaging/installation,
security, compatibility, or performance. Do not mention issues or PRs that only
affect repository operation or the engineering process.

Exclude noise that a user-facing changelog should not mention:

- Dependency-bump / Dependabot PRs unless they fix a user-visible security issue.
- Build, CI, and test-only changes with no user-facing effect.
- Internal refactors with no behavior change.
- Version-bump and release-prep commits (including this PR's own commit).
- Agentic workflow, automation, changelog-generation, and repository maintenance
changes unless they directly change the released extension experience.

## Step 5: Learn the existing changelog format

Expand Down
Loading
Loading