Skip to content

Re-enable VS Code extension E2E tests in CI - #19142

Draft
Adam Ratzman (adamint) wants to merge 3 commits into
microsoft:mainfrom
adamint:reenable-extension-e2e
Draft

Re-enable VS Code extension E2E tests in CI#19142
Adam Ratzman (adamint) wants to merge 3 commits into
microsoft:mainfrom
adamint:reenable-extension-e2e

Conversation

@adamint

@adamint Adam Ratzman (adamint) commented Aug 7, 2026

Copy link
Copy Markdown
Member

Re-enables the VS Code extension E2E workflow by removing the false && guard and restoring the aggregate-gate skip checks.

Probe result

Run 31202231991 exercised the E2E matrix after the guard was removed. Verify ExTester internal feed availability passed.

Passed on both Linux and Windows in that run: apphost-tree, command-palette, debug-dashboard, debug-startup-timeout, discovery-configuration, edge-cases, package-surface, settings-files, tree-actions, and zero-to-running. debug-dashboard passing on both platforms removes the main known reason the job had been disabled.

A later run exposed a race in apphost-tree: the test waited for the transient Searching for AppHosts... welcome after discovery could already finish. This PR now gates the simulated ps and streaming ls CLI calls so the loading state is observed deterministically before releasing the running AppHost snapshot and then the workspace candidate.

The only deterministic E2E shard failure from the original probe was azure-functions on Linux: it timed out after 300000ms waiting for e2e-functions to reach Running with Last error: <none>. The job log shows Azure Functions Core Tools 4.12.1 was installed and func --version succeeded, so this was not a missing Core Tools install. The workflow currently has no Windows azure-functions shard.

Follow-up

The azure-functions shard remains visible in the reusable workflow, but the Functions fixture is disabled pending #19151. The other VS Code extension E2E shards are re-enabled.

Validation after the AppHost race fix: run 31212569613 passed both apphost-tree jobs (Linux and Windows) and reported no VS Code extension E2E failures.

Copilot AI balanced review requested due to automatic review settings August 7, 2026 17:25
@github-actions github-actions Bot added the area-engineering-systems infrastructure helix infra engineering repo stuff label Aug 7, 2026
@github-actions

github-actions Bot commented Aug 7, 2026

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

Or

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

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

Re-enables VS Code extension E2E tests and restores aggregate-gate enforcement.

Changes:

  • Removes the unconditional skip guard.
  • Treats unexpectedly skipped E2E runs as failures.
Show a summary per file
File Description
.github/workflows/tests.yml Restores E2E execution and gate checks.

Review details

  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Balanced

@github-actions

github-actions Bot commented Aug 7, 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 Aug 7, 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 Aug 7, 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.

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.

Review details

Suppressed comments (2)

.github/workflows/extension-e2e-tests.yml:258

  • The temporary-disable behavior has no regression coverage even though extension/src/test/e2eLaunchProfile.test.ts:216-236 already source-checks this exact Azure Functions shard. Without asserting disabledIssue and the prerequisite guard, a later edit can silently re-enable issue #19151 while those tests still pass. Please update that test to pin the disabled marker and guarded install behavior.
            disabledIssue: 'https://github.com/microsoft/aspire/issues/19151'

.github/workflows/tests.yml:830

  • This comment does not match the current selector configuration. setup_for_tests passes enforce: 'false' at tests.yml:69, and .github/actions/select-tests/action.yml:19 documents that audit mode sets every run_* output to true; non-PR events also force the full set. Therefore this job currently runs on unrelated changes too. Describe the condition in terms of the selector output so the aggregate-gate exception remains accurate in both audit and enforce modes.
        # - extension_e2e_tests: this job only runs when the PR/push changes the VS Code extension,
        #   Aspire CLI, or the extension E2E workflow wiring.
  • Files reviewed: 2/2 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

@github-actions

github-actions Bot commented Aug 7, 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 Aug 7, 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 Aug 7, 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.

Copilot AI review requested due to automatic review settings August 7, 2026 19:41

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.

Review details

Suppressed comments (1)

extension/src/test/e2eLaunchProfile.test.ts:510

  • This lookup resolves the earlier waitForWorkspaceRediscoveryLoading call at line 92, not the call in the gated test. Removing or moving the gated test's loading assertion after releasePsSnapshot() would therefore still pass this regression test and allow the CI race to return. Match the unique call and verify every index exists before checking their order.
        assert.ok(appHostTree.indexOf('await waitForWorkspaceRediscoveryLoading') < appHostTree.indexOf('discoveryGate.releasePsSnapshot();'));
  • Files reviewed: 5/5 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

Adam Ratzman and others added 3 commits August 7, 2026 16:10
Reverts the `false &&` guard added in microsoft#18547 and restores the two
run_extension_e2e skip-checks in the aggregate gate.

The job has been dark since 2026-06-29. microsoft#18547 disabled it because the
Windows debug-dashboard shard was consistently failing, but it linked
microsoft#18412 as the tracker -- and
that issue had already been closed as completed on 2026-06-26 by the
*previous* re-enable (microsoft#18464). So there is currently no open issue
tracking the disable, and nothing surfaces that the shards do not run.

This change is a probe: CI on this PR exercises the shards against
current main so we can see empirically whether debug-dashboard still
fails, rather than inferring it from a six-week-old report.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 487b899d-d79d-4349-a84b-a026861bde7f
The re-enable probe showed the non-Functions VS Code extension E2E shards passing, while the Linux Azure Functions shard timed out waiting for e2e-functions to reach Running.

Keep the shard visible in the workflow, but leave the Functions fixture disabled with a tracked issue until the Linux startup timeout is root-caused.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Gate the simulated ps and streaming ls CLI calls so the test observes the loading welcome before allowing the running AppHost snapshot and workspace candidate to arrive.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings August 7, 2026 20:10

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.

Review details

Suppressed comments (1)

extension/src/test/e2eLaunchProfile.test.ts:510

  • This lookup matches the earlier unrelated loading wait in appHostTree.e2e.test.ts (currently line 92), not the wait in the gated test. As a result, the assertion still passes if releasePsSnapshot() is moved before the intended wait, so the regression guard does not enforce the ordering it claims to protect. Scope the indices to the gated test block.
        assert.ok(appHostTree.indexOf('await waitForWorkspaceRediscoveryLoading') < appHostTree.indexOf('discoveryGate.releasePsSnapshot();'));
  • Files reviewed: 5/5 changed files
  • Comments generated: 0 new
  • Review effort level: Balanced

@github-actions

github-actions Bot commented Aug 7, 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

area-engineering-systems infrastructure helix infra engineering repo stuff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants