TileDB-Inc / tiledbsoma-feedstock

A conda-smithy repository for tiledbsoma.
BSD 3-Clause "New" or "Revised" License
3 stars 3 forks source link

Enable flexible channel priority to install tiledb::tiledb-py for py37 #33

Closed jdblischak closed 1 year ago

jdblischak commented 1 year ago

There are currently 2 issues that are breaking the linux-64 Python 3.7 nightly builds on the nightly-build branch:

  1. The conda solver is unable to install tiledbsoma-py/libtiledbsoma/tiledb-py/libtiledb in a Python 3.7 environment, so conda is unable to install the run time dependencies for the test section of the recipe. This conda solver error first started back on 2023-06-26. I believe the problem is the strict channel priority, which by default prefers older packages in a higher-priority channel (in this case conda-forge, which only has older tiledb-py available for Python 3.7) over the newer packages available in lower-priority channel (in this case tiledb, because we only build for Python 3.7 in the TileDB-Inc feedstock fork). This PR updates the feedstock to use flexible channel priority, which fixes this problem. Once we no longer need to build for Python 3.7, we should switch back to strict channel priority, since in general this ensures more stable environments

  2. While fixing the above Issue, I discovered that the recently updated zipp-feedstock has broken the build step (it's a dependency of setuptools) because zipp dropped support for Python 3.7. This is currently being fixed (https://github.com/conda-forge/zipp-feedstock/issues/42, https://github.com/conda-forge/zipp-feedstock/pull/43), but this PR will fail until the fix is deployed. However, I tested in my fork by temporarily setting zipp <3.16 to confirm that the flexible channel priority fixes the conda solver error

xref: https://github.com/TileDB-Inc/somacore-feedstock/pull/4

jdblischak commented 1 year ago

The zipp issue with Python 3.7 has been resolved. The recipe was updated in https://github.com/conda-forge/zipp-feedstock/pull/43 and the repodata patched in https://github.com/conda-forge/conda-forge-repodata-patches-feedstock/pull/478

I restarted the CI for this PR, and now it's passing