Closed 0xbe7a closed 1 year ago
Three options.
channel_sources
a top level loop key in conda-smithy so that any key zipped with it will get a separate .ci_support
file. For outputs that are independent of python, this will create multiple variants and may lead to wrong package metadata._python_rc
to conda-forge/label/python_rc
, make python=3.12
depend on it and add python=3.12
package to main and then merge your PR.python
pkgs to python_rc
label in addition to main
and then merge your PR.I think Option 2 is the most ""elegant"" out of them. I will create a dummy package, that python312 will depend on for now and that only gets published to the python_rc channel.
We also need to mark the python=3.12
in conda-forge/label/python_rc
broken.
We also need to mark the
python=3.12
inconda-forge/label/python_rc
broken.
2. Add a package like
_python_rc
toconda-forge/label/python_rc
, makepython=3.12
depend on it and addpython=3.12
package to main and then merge your PR.
I guess "your PR" in this case refers to https://github.com/conda-forge/conda-forge-ci-setup-feedstock/pull/279?
In any case, we're not 100% there yet - I tried to test the new setup in https://github.com/conda-forge/grpc-cpp-feedstock/pull/318 (one of the bigger feedstocks affected), and ran into the missing label:
Unsatisfiable dependencies for platform linux-64: {MatchSpec("python==3.12.0rc3=rc3_hab00c5b_1_cpython"), MatchSpec("_python_rc")}
https://github.com/conda-forge/conda-forge-ci-setup-feedstock/pull/279 https://github.com/regro/conda-forge-feedstock-check-solvable/pull/14
need to be merged before the bot can automatically bump all affected packages
Issue
As part of the python312 migration uploaded the python3.12 RC to a seperate channel
conda-forge/label/python_rc
. The migration yaml then adds a newpython
version value to a recipes feedstock and zips it withchannel_sources
. Thereby we can add a new channel_source that just gets used by the python312 build.conda-build will render seperate variants for each (arch, python version) tuple for most feedstocks like https://github.com/conda-forge/markupsafe-feedstock/tree/main/.ci_support, however for some like https://github.com/conda-forge/brotli-feedstock/tree/main/.ci_support only a single variant for each arch is created.
setup_conda_rc
is not yet able to handle this and will always just add channels from the firstchannel_sources
value to the condarc. This results in theconda-forge/label/python_rc
channel being missing in the condarc and mamba failing to solve.As @isuruf pointed out just adding all channels from all values to the condarc will not work due to strict repo priority
See https://github.com/conda-forge/conda-forge-ci-setup-feedstock/pull/279