conda-forge / conda-smithy

The tool for managing conda-forge feedstocks.
https://conda-forge.org/
BSD 3-Clause "New" or "Revised" License
147 stars 177 forks source link

BUG make sure to handle zipped keys properly in reordering #1851

Closed beckermr closed 6 months ago

beckermr commented 6 months ago

Checklist

closes #1847

mbargull commented 6 months ago

... but needs specific tests

This one is a tiniest I could come up with (which works with 3.30.4 but not 3.31.0):

# conda_build_config.yaml
a:
  - 1
  - 2
  - 2
b:
  - 1
  - 2
  - 1

zip_keys:
  -
    - a
    - b
# meta.yaml
package:
  name: test_skip_some_zip_keys_combination
  version: 1.0

build:
  skip: true  # [not linux64 or a != b]

about: {}

i.e., the issue came up with the arrow-cpp feedstock since it has a

  skip: true  # [cuda_compiler_version not in ("None", cuda_compiler_version_min)]

which skips the cuda_compiler_version: "11.8" variant.

and some cleanup possibly

Just putting this partially in a aptly named function would possibly suffice :shrug:.

beckermr commented 6 months ago

This PR is ready for review @mbargull!

mbargull commented 6 months ago

Can also confirm this working on arrow-cpp... it just took nearly 30 minutes to render O__O .

beckermr commented 6 months ago

The big test case in the code was pulled directly from the failing bits of the arrow cpp internals fyi.

jakirkham commented 6 months ago

Wow! Am impressed you were both able to figure this out so quickly

The additional logging should help if we need to do a deep dive here again

Thank you both for your hard work here! 🙏