Skip to content

Fixes#33034

Open
jshirota wants to merge 1 commit intoconda-forge:mainfrom
jshirota:glidergun-recipe-update-v2
Open

Fixes#33034
jshirota wants to merge 1 commit intoconda-forge:mainfrom
jshirota:glidergun-recipe-update-v2

Conversation

@jshirota
Copy link
Copy Markdown

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged.
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

Copilot AI review requested due to automatic review settings April 19, 2026 14:56
@conda-forge-admin
Copy link
Copy Markdown
Contributor

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 (recipes/meta.yaml) and found some lint.

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.

Copy link
Copy Markdown
Contributor

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

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.yaml recipe defining the glidergun output built via pip.
  • Adds a glidergun-torch meta-output that depends on glidergun plus pytorch and kornia.
  • 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.

Comment thread recipes/meta.yaml
Comment on lines +4 to +6
package:
name: {{ name|lower }}
version: {{ version }}
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

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

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).

Copilot uses AI. Check for mistakes.
Comment thread recipes/meta.yaml
version: {{ version }}

source:
url: https://github.com/jshirota/glidergun/archive/refs/tags/v0.9.127.tar.gz
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

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

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).

Suggested change
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

Copilot uses AI. Check for mistakes.
Comment thread recipes/meta.yaml

outputs:
- name: glidergun
script: "{{ PYTHON }} -m pip install . -vv"
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

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

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.

Suggested change
script: "{{ PYTHON }} -m pip install . -vv"
script: "{{ PYTHON }} -m pip install . --no-deps --no-build-isolation -vv"

Copilot uses AI. Check for mistakes.
Comment thread recipes/meta.yaml
requirements:
run:
- python >=3.10
- glidergun =={{ version }}
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

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

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.

Suggested change
- glidergun =={{ version }}
- {{ pin_subpackage('glidergun', exact=True) }}

Copilot uses AI. Check for mistakes.
Comment thread recipes/meta.yaml
Comment on lines +48 to +54
- name: glidergun-torch
build:
noarch: generic
requirements:
run:
- python >=3.10
- glidergun =={{ version }}
Copy link

Copilot AI Apr 19, 2026

Choose a reason for hiding this comment

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

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.

Copilot uses AI. Check for mistakes.
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.

3 participants