You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 6059669
Browse filesBrowse the repository at this point in the historyBrowse files
authored
Release 1.40: rebase release history onto main (#1933)
## Summary
Bring every change from `main` through
`9f1e63d152ead34491a4e3ddffd934a0fece839e` into `release/1.40`, while
retaining the stable extension version `1.40.0`.
## History
- Rebase the existing `release/1.40` history onto `main`; do not squash
or selectively cherry-pick the main commits.
- Preserve all 29 main-only commits with their original commit IDs.
- Replay the two release-only version commits with their original
authors and messages:
- `11b8e83a` -> `61aeb25b`: bump extension version to `1.39.1`.
- `e7d90fa0` -> `e6a89ad2`: bump extension version to `1.40.0`.
- Resolve only the version conflicts in `package.json` and
`package-lock.json`.
- The final tree is identical to the selected main commit except for the
three extension-version fields, which are `1.40.0`.
Use a merge commit when merging this PR to preserve the existing main
commit IDs. Squash merging or GitHub's rebase-and-merge would not
preserve that ancestry. The existing release branch has not been
force-pushed.
## Validation
- `npm run lint`
- `npm run compile-tests`
- `npm run unittest -- --reporter dot`: 2,885 passing, 9 pending.
- `npm run package`
- `git diff --check`
- Verified main is an ancestor of this branch, and `git range-diff`
retains both release-only commits.
- Verified the rebased tree matches the validated main-based `1.40.0`
tree.
## Release coordination
- This PR includes all main changes, including new features and API
changes, rather than only the previously proposed fixes.
- `main` remains at `1.41.0`; no follow-up development-version bump is
currently necessary.
- No release pipeline has been manually triggered and no publication has
been authorized.
- Before merging, confirm the active stable pipeline: the DevDiv stable
definition triggers on `release/*` pushes and defaults publishing to
enabled behind a manual validation gate.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Eleanor Boyd <26030610+eleanorjboyd@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Karthik Nadig <kanadig@microsoft.com>
Co-authored-by: Stella Huang <100439259+StellaHuang95@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Bill Schnurr <bschnurr@microsoft.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot-Session: ce6aeb0a-6210-4716-8a84-2f3e7555625f
Copy file name to clipboardExpand all lines: .github/instructions/testing-workflow.instructions.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,8 @@ This guide covers the full testing lifecycle:
20
20
21
21
- Pip commands that return JSON must pass `--disable-pip-version-check`; the process helper combines stderr with stdout, so update notices can otherwise make valid JSON unparseable (1).
22
22
- When a view subscribes to a newly added provider event, TypeMoq-based view tests must return a real `EventEmitter.event`; an unstubbed event yields an undefined disposable and fails during teardown (1).
23
+
- Test agent selections across a full reload with `python.defaultInterpreterPath` set. An effective manager value equal to the extension default does not prove a workspace value was saved; tool-owned persistence must inspect `workspaceValue` or startup can restore the global interpreter (1).
24
+
-`vscode.executeCodeLensProvider` verifies provider output, not visible editor refresh. VS Code cancels its debounced CodeLens refresh when the editor loses focus; account for background UI automation restoring focus to another app before diagnosing a stale rendered lens (1).
23
25
24
26
### When to Use This Guide
25
27
@@ -614,3 +616,4 @@ envConfig.inspect
614
616
-**pet binary is required for environment manager registration**: The smoke/E2E/integration tests require the `pet` binary from `microsoft/python-environment-tools` to be built and placed in `python-env-tools/bin/`. Without it, `waitForApiReady()` will timeout because managers never register. CI must build pet from source using `cargo build --release --package pet` (2)
615
617
-**Check exact project registration with `getPythonProjects()`**: `getPythonProject(uri)` can return a containing parent project, so it cannot prove that a nested project was registered or unregistered (1)
616
618
-**Use controlled fixture providers for package lifecycle integration tests**: Discovering an existing Conda environment does not guarantee API quick-create can succeed. Use `createEnvironmentFixture()` so creation prerequisites and cleanup are deterministic (1)
619
+
-**Retry Windows integration-test cleanup at the filesystem operation, not the suite**: After closing VS Code editors, use bounded `fs.rm(..., { recursive: true, force: true, maxRetries, retryDelay })` for temporary workspaces because Windows can briefly return `EBUSY`; keep final failures visible instead of adding sleeps or Mocha retries (1)
0 commit comments