Conversation
|
Hi! This is the friendly automated conda-forge-linting service. I wanted to let you know that I linted all conda-recipes in your PR ( Here's what I've got... For recipes/meta.yaml:
This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/24631939119. Examine the logs at this URL for more detail. |
There was a problem hiding this comment.
Pull request overview
Adds a new conda-forge staged recipe for the glidergun project, including a secondary glidergun-torch output to provide optional PyTorch/Kornia dependencies.
Changes:
- Introduces a new
meta.yamlrecipe defining theglidergunoutput built via pip. - Adds a
glidergun-torchmeta-output that depends onglidergunpluspytorchandkornia. - Defines basic import/command tests and package metadata (license, summary, maintainer).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| package: | ||
| name: {{ name|lower }} | ||
| version: {{ version }} |
There was a problem hiding this comment.
This recipe is placed at recipes/meta.yaml, but this repo expects each recipe to live in its own subdirectory (e.g. recipes/<recipe-name>/meta.yaml). Leaving a top-level recipes/meta.yaml will cause recipes/* linting and CI automation to treat it as a recipe path incorrectly. Please move this file to something like recipes/glidergun/meta.yaml (and keep any extra files like build scripts alongside it).
| version: {{ version }} | ||
|
|
||
| source: | ||
| url: https://github.com/jshirota/glidergun/archive/refs/tags/v0.9.127.tar.gz |
There was a problem hiding this comment.
source.url is hard-coded to v0.9.127.tar.gz instead of using the version Jinja variable. This makes future version bumps error-prone (the version variable could be updated without updating the URL). Use v{{ version }} in the URL (and keep the sha256 in sync).
| url: https://github.com/jshirota/glidergun/archive/refs/tags/v0.9.127.tar.gz | |
| url: https://github.com/jshirota/glidergun/archive/refs/tags/v{{ version }}.tar.gz |
|
|
||
| outputs: | ||
| - name: glidergun | ||
| script: "{{ PYTHON }} -m pip install . -vv" |
There was a problem hiding this comment.
The pip install command does not disable dependency resolution. In conda-forge builds this can cause pip to attempt to download/install dependencies from PyPI (which is disallowed / will fail in the offline build environment). Add --no-deps (and typically --no-build-isolation as well) to the pip install invocation.
| script: "{{ PYTHON }} -m pip install . -vv" | |
| script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vv" |
| requirements: | ||
| run: | ||
| - python >=3.10 | ||
| - glidergun =={{ version }} |
There was a problem hiding this comment.
For multi-output recipes, depending on a sibling output via glidergun =={{ version }} does not pin the build string, so glidergun-torch could resolve against a different build of glidergun than the one produced by this recipe. Prefer using pin_subpackage('glidergun', exact=True) (or equivalent) to ensure the dependency matches both version and build.
| - glidergun =={{ version }} | |
| - {{ pin_subpackage('glidergun', exact=True) }} |
| - name: glidergun-torch | ||
| build: | ||
| noarch: generic | ||
| requirements: | ||
| run: | ||
| - python >=3.10 | ||
| - glidergun =={{ version }} |
There was a problem hiding this comment.
glidergun-torch is marked noarch: generic, but the overall recipe is still built across the Python version matrix because the glidergun output is architecture-specific. That means this same noarch subpackage will be (re)built for every Python variant, likely producing identical noarch artifacts and causing upload/CI collisions. Consider adding an output-level skip selector (e.g. build it only on one Python version) so the noarch package is emitted once.
Checklist
url) rather than a repo (e.g.git_url) is used in your recipe (see here for more details).