Skip to content

Fix syntax expansion and add tests - #470

Merged
goanpeca merged 1 commit into
conda-incubator:mainfrom
goanpeca:fix/name-version-build
Apr 2, 2026
Merged

goanpeca merged 1 commit into
conda-incubator:mainfrom
goanpeca:fix/name-version-build

Conversation

@goanpeca

@goanpeca goanpeca commented Mar 19, 2026 •

Copy link
Copy Markdown
Member

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

Copilot AI left a comment

Copy link
Copy Markdown

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.

Comment thread src/env/yaml.ts Resolved
Comment thread src/__tests__/yaml.test.ts Resolved

Copilot AI left a comment

Copy link
Copy Markdown

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.

@goanpeca
goanpeca force-pushed the fix/name-version-build branch from f6b25f5 to c1f73e5 Compare April 2, 2026 02:35
@goanpeca
goanpeca merged commit 685db28 into conda-incubator:main Apr 2, 2026
108 checks passed
@goanpeca
goanpeca deleted the fix/name-version-build branch April 2, 2026 02:48
@jezdez jezdez mentioned this pull request Apr 23, 2026
3 tasks done
@goanpeca goanpeca added the type:bug Something isn't working label May 31, 2026
@goanpeca goanpeca added this to the v4.0.0 milestone May 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:bug Something isn't working

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

3 participants