datalad / datalad-installer

Installation script for Datalad and related components
MIT License
6 stars 3 forks source link

Tests failing due to dependency conflicts involving datalad #196

Closed jwodder closed 5 months ago

jwodder commented 6 months ago

datalad-installer's tests have been failing since the 28th because the tests that attempt to install datalad inside a fresh miniconda setup are unable to do so, failing with the error:

LibMambaUnsatisfiableError: Encountered problems while solving:
  - package datalad-0.17.4-py310hff52083_0 requires python >=3.10,<3.11.0a0, but none of the providers can be installed

Could not solve for environment specs
The following packages are incompatible
├─ datalad >=0.10.0  is installable with the potential options
│  ├─ datalad [0.10.0|0.10.1|0.10.2|0.10.3.1] would require
│  │  └─ python >=3.5,<3.6.0a0 , which can be installed;
│  ├─ datalad [0.10.0|0.10.1|...|0.15.1] would require
│  │  └─ python >=3.6,<3.7.0a0 , which can be installed;
│  ├─ datalad [0.11.2|0.11.3|...|0.17.8] would require
│  │  └─ python >=3.7,<3.8.0a0 , which can be installed;
│  ├─ datalad [0.13.0|0.13.2|...|0.19.6] would require
│  │  └─ python >=3.8,<3.9.0a0 , which can be installed;
│  ├─ datalad [0.14.4|0.14.5|...|0.19.6] would require
│  │  └─ python >=3.9,<3.10.0a0 , which can be installed;
│  ├─ datalad [0.17.10|0.17.4|...|0.19.6] would require
│  │  └─ python >=3.10,<3.11.0a0 , which can be installed;
│  └─ datalad [0.18.1|0.18.2|...|0.19.6] would require
│     └─ python >=3.11,<3.12.0a0 , which can be installed;
└─ pin-1 is not installable because it requires
   └─ python 3.12.* , which conflicts with any installable versions previously reported.

Pins seem to be involved in the conflict. Currently pinned specs:
 - python 3.12.* (labeled as 'pin-1')

If I attempt to reproduce the failures by running conda install -c conda-forge datalad in a Docker container with the latest conda, the installation succeeds.

@yarikoptic Do you have any idea why this is happening?

yarikoptic commented 6 months ago

I think we just need to add python 3.12 as supported to datalad? IIRC we build "per each" python to get it tested and IIRC for some constraints to work. Now we just need to recall how to add new version of python there, let's submit a PR and ask to rerender to start with...

edit:

jwodder commented 6 months ago

@yarikoptic I don't see how datalad's recipe even prohibits Python 3.12 to begin with. The python requirements under build, host, and run all lack version bounds.

yarikoptic commented 6 months ago

yes, it is not forbidden but scripts are not "templated out" for it,

they are for 3.11 but not 3.12 ```shell ❯ git grep '3\.11' .azure-pipelines/azure-pipelines-linux.yml: linux_64_python3.11.____cpython: .azure-pipelines/azure-pipelines-linux.yml: CONFIG: linux_64_python3.11.____cpython .azure-pipelines/azure-pipelines-osx.yml: osx_64_python3.11.____cpython: .azure-pipelines/azure-pipelines-osx.yml: CONFIG: osx_64_python3.11.____cpython .azure-pipelines/azure-pipelines-osx.yml: osx_arm64_python3.11.____cpython: .azure-pipelines/azure-pipelines-osx.yml: CONFIG: osx_arm64_python3.11.____cpython .azure-pipelines/azure-pipelines-win.yml: win_64_python3.11.____cpython: .azure-pipelines/azure-pipelines-win.yml: CONFIG: win_64_python3.11.____cpython .ci_support/linux_64_python3.11.____cpython.yaml:- 3.11.* *_cpython .ci_support/osx_64_python3.11.____cpython.yaml:- 3.11.* *_cpython .ci_support/osx_arm64_python3.11.____cpython.yaml:- 3.11.* *_cpython .ci_support/win_64_python3.11.____cpython.yaml:- 3.11.* *_cpython README.md: linux_64_python3.11.____cpython README.md: variant README.md: osx_64_python3.11.____cpython README.md: variant README.md: osx_arm64_python3.11.____cpython README.md: variant README.md: win_64_python3.11.____cpython README.md: variant ❯ git grep '3\.12' ❯ ```

we need to recall how to make it rerender with 3.12 support. I sent generic rerender request in the https://github.com/conda-forge/datalad-feedstock/pull/117

yarikoptic commented 6 months ago

well -- rerendering didn't add anything https://github.com/conda-forge/datalad-feedstock/pull/117/commits/9e9f74773bc01baca45d829965739c33d97464d4 , so need to figure out how to add 3.12 ... uff

yarikoptic commented 6 months ago

may be that is the blocker ATM?

yarikoptic commented 5 months ago

https://conda-forge.org/status/migration/python312 is useful here! apparently datalad is awaiting parents, which is annexremote for which we had

but it failed on 3.12 and logs are "no more". First we will upgrade that one to newer version of AnnexRepo and then rerun bot for 3.12 PR

@jwodder - can I add you as maintainer on that feedstock?

jwodder commented 5 months ago

@yarikoptic Sure.

yarikoptic commented 5 months ago

I have done the whole cycle. https://github.com/conda-forge/datalad-feedstock/pull/119 is merged now. 3.13 will be on you if similar drill happens ;) The https://conda-forge.org/status/migration/ is the critical link to know

Please see if resolved now

jwodder commented 5 months ago

The latest tests passed: https://github.com/datalad/datalad-installer/actions/runs/8518225984