Closed jjerphan closed 8 months ago
@conda-forge/conda-smithy ?
You need to add a 11.8 at https://github.com/conda-forge/pytorch-cpu-feedstock/blob/main/.ci_support/migrations/cuda120.yaml#L53-L54
This is why I was skeptical of updating the migration_number https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/5121 and preferred a new migrator. cc @jakirkham
You need to add a 11.8 at https://github.com/conda-forge/pytorch-cpu-feedstock/blob/main/.ci_support/migrations/cuda120.yaml#L53-L54
This is why I was skeptical of updating the migration_number conda-forge/conda-forge-pinning-feedstock#5121 and preferred a new migrator. cc @jakirkham
Not sure that link was intended (if it was I'm not following). Think you are referring to PR ( https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/5340 ) where the 11.8 was added to the CUDA 12 migrator
Generally conda-smithy does the right thing as pointed out by Axel and later confirmed by me in this thread ( https://github.com/conda-forge/conda-forge-pinning-feedstock/pull/5340#discussion_r1441268175 )
There are two cases we have seen where re-rendering out of the box doesn't work:
use_local
case (as discussed in that thread)For 1, I sent a bunch of PRs xref'd at the bottom that manually fix those feedstocks. Nearly all are merged. The 2 remaining we could merge if we like. Have left that task to maintainers for now
2 is what Julien ran into. All that is needed is to purge conda-smithy's stale migrator cache so it refreshes. In cases where there is no cache (like the bot) this issue doesn't occur
On my system purging conda-smithy's migrator cache looks like this
rm -rf ~/.cache/conda-smithy/share/conda-forge/migrations
Ideally conda-smithy could detect if the cache is stale and do this for us
As of 99445d4755b74a37a1b2333a2c809431baaca3c2, re-rendering locally using
conda-smithy==3.30.4
fails:Full log
``` INFO:conda_smithy.configure_feedstock:README rendering is skipped INFO:conda_smithy.configure_feedstock:__pycache__ rendering is skipped INFO:conda_smithy.configure_feedstock:cuda118.yaml from feedstock is ignored and upstream version is used INFO:conda_smithy.configure_feedstock:libabseil20230802_libgrpc157_libprotobuf4234.yaml from feedstock is ignored and upstream version is used INFO:conda_smithy.configure_feedstock:libgrpc159_libprotobuf4244.yaml from feedstock is ignored and upstream version is used INFO:conda_smithy.configure_feedstock:python312.yaml from feedstock is ignored and upstream version is used 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. WARNING: Setting build arch. This is only useful when pretending to be on another arch, such as for rendering necessary dependencies on a non-native arch. I trust that you know what you're doing. WARNING: No numpy version specified in conda_build_config.yaml. Falling back to default numpy value of 1.22 Adding in variants from internal_defaults Adding in variants from /home/jjerphan/.cache/conda-smithy/conda_build_config.yaml Adding in variants from /home/jjerphan/dev/pytorch-cpu-feedstock/recipe/conda_build_config.yaml INFO:conda_smithy.configure_feedstock:Applying migrations: /home/jjerphan/dev/pytorch-cpu-feedstock/.ci_support/migrations/cuda120.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/libabseil20230802_libgrpc157_libprotobuf4234.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/cuda118.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/python312.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/libgrpc159_libprotobuf4244.yaml Adding in variants from argument_variants INFO:conda_smithy.configure_feedstock:Applying migrations: /home/jjerphan/dev/pytorch-cpu-feedstock/.ci_support/migrations/cuda120.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/libabseil20230802_libgrpc157_libprotobuf4234.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/cuda118.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/python312.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/libgrpc159_libprotobuf4244.yaml INFO:conda_smithy.configure_feedstock:Applying migrations: /home/jjerphan/dev/pytorch-cpu-feedstock/.ci_support/migrations/cuda120.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/libabseil20230802_libgrpc157_libprotobuf4234.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/cuda118.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/python312.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/libgrpc159_libprotobuf4244.yaml INFO:conda_smithy.configure_feedstock:Applying migrations: /home/jjerphan/dev/pytorch-cpu-feedstock/.ci_support/migrations/cuda120.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/libabseil20230802_libgrpc157_libprotobuf4234.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/cuda118.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/python312.yaml,/home/jjerphan/.cache/conda-smithy/share/conda-forge/migrations/libgrpc159_libprotobuf4244.yaml Traceback (most recent call last): File "/home/jjerphan/.local/share/miniforge3/envs/pytorch/bin/conda-smithy", line 10, inYet, I have been able to re-render with the following naive changes to conda smithy as of https://github.com/conda-forge/conda-smithy/commit/a8d97615481230ff3aa87bab8a92d0e2c98f1ec6 to work around the observed error:
Work around for
```diff diff --git a/conda_smithy/variant_algebra.py b/conda_smithy/variant_algebra.py index 3273f13..69e312d 100644 --- a/conda_smithy/variant_algebra.py +++ b/conda_smithy/variant_algebra.py @@ -62,6 +62,18 @@ def parse_variant( def _version_order( v: Union[str, float], ordering: Optional[List[str]] = None ) -> Union[int, VersionOrder, float]: + # XXX: 11.8 for condatoolkit is not being added to `ordering`, + # eventhough it is listed in the specification. + if ( + ordering == ['None', '10.2', '11.0', '11.1', '11.2', '12.0'] + ): + print("Added 11.8 to ordering") + ordering = ['None', '10.2', '11.0', '11.1', '11.2', '11.8', '12.0'] + if ( + ordering == ['None', '11.2', '12.0'] + ): + print("Added 11.8 to ordering") + ordering = ['None', '11.2', '11.8', '12.0'] if ordering is not None: return ordering.index(v) else: ``` For convenient to skip version verification which is 0.0.0 when built from sources: ```diff diff --git a/conda_smithy/configure_feedstock.py b/conda_smithy/configure_feedstock.py index 91068f3..ffc559e 100644 --- a/conda_smithy/configure_feedstock.py +++ b/conda_smithy/configure_feedstock.py @@ -2205,21 +2205,7 @@ def get_most_recent_version(name): def check_version_uptodate(name, installed_version, error_on_warn): - from conda_build.conda_interface import VersionOrder - - most_recent_version = get_most_recent_version(name).version - if installed_version is None: - msg = "{} is not installed in conda-smithy's environment.".format(name) - elif VersionOrder(installed_version) < VersionOrder(most_recent_version): - msg = "{} version ({}) is out-of-date ({}) in conda-smithy's environment.".format( - name, installed_version, most_recent_version - ) - else: - return - if error_on_warn: - raise RuntimeError("{} Exiting.".format(msg)) - else: - logger.info(msg) + pass def commit_changes(forge_file_directory, commit, cs_ver, cfp_ver, cb_ver): ```conda-smithy
This produces the following changes, but I am unsure about their validity:
Result of rerendering
```diff commit 681f737cdd81b4a0571a8cd6ad53c35244069323 Author: Julien JerphanionI do not know whether this is an issue with conda-smithy or this feedstock yet.