staged-recipes icon indicating copy to clipboard operation
staged-recipes copied to clipboard

Add Warp recipe

Open alisterburt opened this issue 1 year ago • 14 comments

Checklist

  • [x] 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.
  • [x] Build number is 0.
  • [x] 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.

alisterburt avatar Feb 19 '24 22:02 alisterburt

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/warp) and found some lint.

Here's what I've got...

For recipes/warp:

  • The following maintainers have not yet confirmed that they are willing to be listed here: dtegunov. Please ask them to comment on this PR if they are.
  • If python is a host requirement, it should be a run requirement.

@dtegunov please comment here to be added as a maintainer of this recipe

alisterburt avatar Feb 19 '24 22:02 alisterburt

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/warp) and found some lint.

Here's what I've got...

For recipes/warp:

  • The following maintainers have not yet confirmed that they are willing to be listed here: dtegunov. Please ask them to comment on this PR if they are.

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/warp) and found some lint.

Here's what I've got...

For recipes/warp:

  • The following maintainers have not yet confirmed that they are willing to be listed here: dtegunov. Please ask them to comment on this PR if they are.

For recipes/warp:

  • Please depend on pytorch directly. If your package definitely requires the CUDA version, please depend on pytorch =*=cuda*.

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/warp) and found some lint.

Here's what I've got...

For recipes/warp:

  • The following maintainers have not yet confirmed that they are willing to be listed here: dtegunov. Please ask them to comment on this PR if they are.

Confirmed

dtegunov avatar Feb 20 '24 23:02 dtegunov

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/warp) and found it was in an excellent condition.

Solving environment (_test_env): ...working... failed
WARNING: failed to get install actions, retrying.  exception was: Unsatisfiable dependencies for platform linux-64: {MatchSpec("warp==2.0.0dev0=h6efa04d_0"), MatchSpec("6.0")}
Encountered problems while solving:
  - nothing provides dotnet 6.0 needed by warp-2.0.0dev0-h6efa04d_0

Could not solve for environment specs
The following package could not be installed
└─ warp 2.0.0dev0 h6efa04d_0 is not installable because it requires
   └─ dotnet 6.0 , which does not exist (perhaps a missing channel).

dhirschfeld avatar Feb 22 '24 01:02 dhirschfeld

image https://anaconda.org/conda-forge/dotnet/files?page=2

dhirschfeld avatar Feb 22 '24 01:02 dhirschfeld

thanks for the input @dhirschfeld, very much appreciated! I hadn't come across the ~= operator for versioning

Your comment is hidden, copying in case it is useful to others:

Pinning to patch versions is a anti-pattern that means you won't pick up any security patches and nearly guarantees that your package will have problems resolving. https://peps.python.org/pep-0440/#compatible-release

alisterburt avatar Feb 22 '24 02:02 alisterburt

converting to draft until we're ready to release

alisterburt avatar Feb 22 '24 03:02 alisterburt

Merge branch 'main' into warp

I'm not sure what's going on there, but in general you don't need to merge main into a staged-recipes PR. Since the error seems so unusual I'd be inclined to rebase on the latest main:

git switch main
git pull
git switch warp
git rebase main
git push -f

dhirschfeld avatar Feb 22 '24 03:02 dhirschfeld

@dhirschfeld there was a 'sync with main' prompt on GitHub so I clicked it, agree it is a bit weird in this case and shouldn't be necessary/have changed anything

alisterburt avatar Feb 22 '24 04:02 alisterburt

Before the merge it looks like you had a green check mark so perhaps just revert to that commit and force-push

dhirschfeld avatar Feb 22 '24 05:02 dhirschfeld

You may need a rerender after changing the skip, though not entirely sure how that works in staged-recipes.

Sometimes it's easier to get a minimal working version published and to debug issues in PRs in the actual feedstock.

dhirschfeld avatar Mar 26 '24 23:03 dhirschfeld

Thanks @dhirschfeld, I've pushed changes and we should have a minimal passing build now - a few things are missing from the package checklist provided but if you're happy to merge this as is I can sort those things out in PRs to the feedstock?

alisterburt avatar Mar 27 '24 04:03 alisterburt

I can't actually merge. Once CI is green you can ping an appropriate team and hopefully someone with merge rights can do the honours.

https://github.com/conda-forge/staged-recipes#12-my-pull-request-passes-all-checks-but-hasnt-received-any-attention-how-do-i-call-attention-to-my-pr--what-is-the-customary-amount-of-time-to-wait

dhirschfeld avatar Mar 27 '24 04:03 dhirschfeld

Asked for help in gitter: copying here for clarity

I have a package which is failing during "Run docker build" with a strange error about an empty version string:

rendering /home/conda/staged-recipes-copy/recipes/warp for linux-64
WARNING: Setting build platform. This is only useful when pretending to be on another platform, such as for rendering necessary dependencies on a non-native platform. I trust that you know what you're doing.
Traceback (most recent call last):
  File "/opt/conda/lib/python3.10/site-packages/conda/models/version.py", line 43, in __call__
    return cls._cache_[arg]
KeyError: ''

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/conda/staged-recipes-copy/.ci_support/build_all.py", line 261, in <module>
    build_all(os.path.join(root_dir, "recipes"), args.arch)
  File "/home/conda/staged-recipes-copy/.ci_support/build_all.py", line 151, in build_all
    build_folders(recipes_dir, folders, arch, channel_urls)
  File "/home/conda/staged-recipes-copy/.ci_support/build_all.py", line 188, in build_folders
    G = construct_graph(recipes_dir, worker=worker, run='build',
  File "/home/conda/staged-recipes-copy/.ci_support/compute_build_graph.py", line 420, in construct_graph
    add_recipe_to_graph(recipe_dir, graph, run, worker, conda_resolve,
  File "/home/conda/staged-recipes-copy/.ci_support/compute_build_graph.py", line 254, in add_recipe_to_graph
    add_dependency_nodes_and_edges(name, graph, run, worker, conda_resolve, config=config,
  File "/home/conda/staged-recipes-copy/.ci_support/compute_build_graph.py", line 487, in add_dependency_nodes_and_edges
    if not _installable(dep, version, build_str, metadata.config, conda_resolve):
  File "/home/conda/staged-recipes-copy/.ci_support/compute_build_graph.py", line 440, in _installable
    installable = conda_resolve.find_matches(ms)
  File "/opt/conda/lib/python3.10/site-packages/conda/resolve.py", line 918, in find_matches
    res = tuple(p for p in candidate_precs if spec.match(p))
  File "/opt/conda/lib/python3.10/site-packages/conda/resolve.py", line 918, in <genexpr>
    res = tuple(p for p in candidate_precs if spec.match(p))
  File "/opt/conda/lib/python3.10/site-packages/conda/models/match_spec.py", line 255, in match
    if not self._match_individual(rec, field_name, v):
  File "/opt/conda/lib/python3.10/site-packages/conda/models/match_spec.py", line 262, in _match_individual

The recipe contains the following version string, but I'm not sure this is the version string being referenced in the build step.

{% set name = "Warp" %}
{% set version = "2.0.0dev0" %}

package:
  name: {{ name|lower }}
  version: {{ version }}

There is a similar error reported in conda-build from 2016, it was apparently caused by some invalid state and was fixed by removing $CONDA_ROOT/conda-bld https://github.com/conda/conda-build/issues/1197

A previous build attempt from the same source and with the same version number did not suffer the same error, this makes me think it is not a problem with my version number. https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=915786&view=logs&jobId=eb6ecf2b-0363-5c1a-baa7-2d771889d197&j=eb6ecf2b-0363-5c1a-baa7-2d771889d197&t=248aa990-2a52-51cf-fcc8-1e0aefce9a33

Does anyone have any ideas what might be the issue and how to solve it?

alisterburt avatar Apr 20 '24 00:04 alisterburt

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/warp) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipes/warp:

  • Please depend on pytorch directly. If your package definitely requires the CUDA version, please depend on pytorch =*=cuda*.

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/warp) and found it was in an excellent condition.

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/warp) and found some lint.

Here's what I've got...

For recipes/warp:

  • If python is a host requirement, it should be a run requirement.

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/warp) and found it was in an excellent condition.