Skip to content

Fix syntax expansion and add tests#470

Open
goanpeca wants to merge 1 commit intoconda-incubator:mainfrom
goanpeca:fix/name-version-build
Open

Fix syntax expansion and add tests#470
goanpeca wants to merge 1 commit intoconda-incubator:mainfrom
goanpeca:fix/name-version-build

Conversation

@goanpeca
Copy link
Member

@goanpeca goanpeca commented Mar 19, 2026

Fixes #286

Fixed string check instead of String, and fix the regex.

Also added tests and a regression workflow that checks the fix.

@goanpeca goanpeca requested a review from a team as a code owner March 19, 2026 23:13
Copilot AI review requested due to automatic review settings March 19, 2026 23:13
@goanpeca goanpeca self-assigned this Mar 19, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses #286 by fixing how environment.yml dependencies are scanned/patched when python-version is provided, and adds unit + workflow regression coverage to prevent name=version=build specs from being corrupted during YAML roundtrips.

Changes:

  • Fix python dependency detection by using a correct python MatchSpec regex and by treating YAML deps as primitive strings (typeof === "string").
  • Add Vitest unit tests covering python spec replacement/appending and preservation of name=version=build dependency strings.
  • Add a workflow regression job plus a minimal example environment file to verify python-version overrides a pinned python in an env file.

Reviewed changes

Copilot reviewed 5 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/env/yaml.ts Fixes dependency type check during YAML patching (string vs object).
src/constants.ts Corrects PYTHON_SPEC regex so python=..., python>..., etc. are detected.
src/__tests__/yaml.test.ts Adds unit tests for python-version patching + preservation of name=version=build.
etc/example-environment-python-pinned.yml Adds a minimal pinned-python env used by regression workflow.
dist/setup/index.js Updates bundled output for setup with the source fixes.
dist/delete/index.js Updates bundled output for delete with the updated constants.
.github/workflows/example-3.yml Adds a regression job verifying python-version overrides env-file python pin.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 7 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

name=version=build syntax expands to name==version=build, causing PackageNotFound errors

2 participants