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 c3cb023
Browse filesBrowse the repository at this point in the historyBrowse files
## Summary
Adds a package-manager-centric integration baseline that intentionally
precedes and de-risks #1686, so the package-manager command refactor is
exercised against behavior established on `main`.
- drives one stateful install/list/direct-package/uninstall lifecycle
per active profile
- uses unique disposable projects and manager-owned disposable
environments
- exercises the live registered manager instances through a
runtime-gated integration-test bridge
- guards registry completeness so every registered package-manager ID
has an active fixture or explicit deferral
- covers normal Pip execution and Conda when their runtime prerequisites
are available
- records an uncached baseline instead of assuming a newly created
environment is empty
- restores workspace-scoped configuration from `inspect()` snapshots and
performs guarded failure-safe cleanup
- defers Poetry pending a Poetry-owned project/lockfile lifecycle
- defers uv-backed Pip because changing the machine-scoped selection
reliably within one extension host was not stable on `main`, while
available-version lookup would also introduce `uv tool run pip` network
seeding
- pins the disposable integration-test user profile to normal Pip
execution
## Validation
- `npm run compile`
- `npm run compile-tests`
- `npm run lint`
- `npm run unittest`
- targeted `packageManagement.integration.test.js`: 3 passing, 2
prerequisite skips locally
- Pip skipped because quick create selected Python 3.15.0 alpha, whose
bundled Pip metadata is incomplete
- Conda skipped because Conda is not installed
- reviewer specialist: clean, no Critical or Important findings
The active Pip and Conda fixtures require package-index/network access
when their runtime prerequisites are present.
Fixes#1701
---------
Copilot-Session: 6b2fe9b5-38ea-442f-b07a-b6c71134d480
Copilot-Session: 3fd1a810-6840-4ac9-ac33-c8a9fda4bfc4
Copy file name to clipboardExpand all lines: .github/instructions/testing-workflow.instructions.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -606,3 +606,4 @@ envConfig.inspect
606
606
-**Never skip tests to hide infrastructure problems**: If tests require native binaries (like `pet`), the CI workflow must build/download them. Skipping tests when infrastructure is missing gives false confidence. Build from source (like vscode-python does) rather than skipping. Tests should fail clearly when something is wrong (2)
607
607
-**No retries for masking flakiness**: Mocha `retries` should not be used to mask test flakiness. If a test is flaky, fix the root cause. Retries hide real issues and slow down CI (1)
608
608
-**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)
609
+
-**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)
Copy file name to clipboardExpand all lines: api/CHANGELOG.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,13 @@ All notable changes to the `@vscode/python-environments` API package are documen
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [1.2.0]
9
+
10
+
### Added
11
+
12
+
- Added `PackageManagementInteractionOptions` with an optional `runHeadless?: boolean` property, mixed into `PackageManagementOptions`. When `true`, package management operations run without any user prompts or interaction — steps that would normally require input, such as selecting packages to install when none are specified, are skipped instead of prompting — for automated or headless scenarios such as integration tests.
13
+
- Added `RemoveEnvironmentOptions` with an optional `runHeadless?: boolean` property to remove environments without a confirmation prompt in automated or headless scenarios.
0 commit comments