Skip to content

Ensure public environments API is reliable and stable #20240

@karrtikr

Description

@karrtikr

Postmortem on Python API related bugs and causes

Each bug is listed into categories and marked if it could've been prevented with the stated precaution:

Bugs and potential precautionary measures

  • resolveEnvironment returns undefined (only reproducible on Jupyter CI) #20147
    • Using public API internally
    • Adding unit tests for API surface
    • Adding VSCode system tests
  • Slow environments.known #20221
    • Using public API internally
    • Adding unit tests for API surface
    • Adding VSCode system tests
  • Newly created prefix conda environments are identified as named #20069
    • Using public API internally
    • Adding unit tests for API surface
    • Adding VSCode system tests
  • resolved Environments have an invalid type for workspaceFolder, cannot be stored in memento #20104
    • Using public API internally
    • Adding unit tests for API surface
    • Adding more internal tests
  • resolved version for environments without python is incorrect, should be undefined instead #20110
    • Using public API internally
    • Adding unit tests for API surface
  • resolved name changes from undefined to empty string while discovering #20070
    • Using public API internally
    • Adding unit tests for API surface
  • resolveEnvironment returns partial environment info from cache the first time (only the first session) #20147
    • Using public API internally
    • Adding unit tests for API surface
    • Adding more internal tests

Expected behavior (required clarification or bug at Jupyter):

Non reproducible:

  • Jupyter claims sysprefix changes, not reproducible #20070

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-environmentsFeatures relating to handling interpreter environmentsdebtCovers everything internal: CI, testing, refactoring of the codebase, etc.metaIssue that is tracking an overall projectneeds spikeLabel for issues that need investigation before they can be worked on.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions