Closed jakirkham closed 4 months ago
Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml
) and found it was in an excellent condition.
@conda-forge-admin, please re-render
Hi! This is the friendly automated conda-forge-webservice.
I tried to rerender for you, but it looks like there was nothing to do.
This message was generated by GitHub actions workflow run https://github.com/conda-forge/xgboost-feedstock/actions/runs/10105806851.
Hi! This is the friendly conda-forge automerge bot!
I considered the following status checks when analyzing this PR:
Thus the PR was passing and merged! Have a great day!
The linter does not like having
noarch: python
at the top-level with selectors ( https://github.com/conda-forge/xgboost-feedstock/pull/167#issuecomment-2251573632 ) ( https://github.com/conda-forge/conda-smithy/issues/1887#issuecomment-2244323850 ). Rewriting the recipe without selectors is a substantial lift and not worth it given the move towards rattler-build.However if we don't have
noarch
or askip
at the top-level, a full matrix of Python versions is built out for all Python XGBoost packages (despite these packages being redundant). Example below taken from this CI run (attached log for posterity):Packages generated by Python matrix in past CI run:
```json { "_py-xgboost-mutex-2.0-cpu_0.conda": { "recipe": { "channel_targets": "conda-forge main", "target_platform": "linux-64" } }, "_r-xgboost-mutex-2.0-cpu_0.conda": { "recipe": { "channel_targets": "conda-forge main", "target_platform": "linux-64" } }, "libxgboost-2.0.3-cpu_hce603c2_3.conda": { "recipe": { "__glibc": "__glibc >=2.17,<3.0.a0", "c_compiler": "gcc", "c_compiler_version": "12", "channel_targets": "conda-forge main", "cuda_compiler": "None", "cuda_compiler_version": "None", "cxx_compiler": "gxx", "cxx_compiler_version": "12", "target_platform": "linux-64" } }, "py-xgboost-2.0.3-cpu_pyh0a621ce_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "python": "3.11.* *_cpython", "target_platform": "linux-64" } }, "py-xgboost-2.0.3-cpu_pyh78d450f_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "python": "3.10.* *_cpython", "target_platform": "linux-64" } }, "py-xgboost-2.0.3-cpu_pyh995e691_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "python": "3.8.* *_cpython", "target_platform": "linux-64" } }, "py-xgboost-2.0.3-cpu_pyhbc962bd_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "python": "3.12.* *_cpython", "target_platform": "linux-64" } }, "py-xgboost-2.0.3-cpu_pyhc68e8b7_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "python": "3.9.* *_cpython", "target_platform": "linux-64" } }, "py-xgboost-cpu-2.0.3-pyh099c497_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "python": "3.12.* *_cpython" } }, "py-xgboost-cpu-2.0.3-pyh4f80c01_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "python": "3.10.* *_cpython" } }, "py-xgboost-cpu-2.0.3-pyhac85b48_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "python": "3.9.* *_cpython" } }, "py-xgboost-cpu-2.0.3-pyhb06c54e_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "python": "3.11.* *_cpython" } }, "py-xgboost-cpu-2.0.3-pyhb8f9a19_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "python": "3.8.* *_cpython" } }, "r-xgboost-2.0.3-cpu_r42h566b21a_3.conda": { "recipe": { "__glibc": "__glibc >=2.17,<3.0.a0", "c_compiler": "gcc", "c_compiler_version": "12", "channel_targets": "conda-forge main", "cuda_compiler": "None", "cxx_compiler": "gxx", "cxx_compiler_version": "12", "target_platform": "linux-64" } }, "r-xgboost-2.0.3-cpu_r43h566b21a_3.conda": { "recipe": { "__glibc": "__glibc >=2.17,<3.0.a0", "c_compiler": "gcc", "c_compiler_version": "12", "channel_targets": "conda-forge main", "cuda_compiler": "None", "cxx_compiler": "gxx", "cxx_compiler_version": "12", "target_platform": "linux-64" } }, "r-xgboost-cpu-2.0.3-r42hf5c67e3_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "target_platform": "linux-64" } }, "r-xgboost-cpu-2.0.3-r43hf5c67e3_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "target_platform": "linux-64" } }, "xgboost-2.0.3-cpu_pyh099c497_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "python": "3.12.* *_cpython" } }, "xgboost-2.0.3-cpu_pyh4f80c01_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "python": "3.10.* *_cpython" } }, "xgboost-2.0.3-cpu_pyhac85b48_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "python": "3.9.* *_cpython" } }, "xgboost-2.0.3-cpu_pyhb06c54e_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "python": "3.11.* *_cpython" } }, "xgboost-2.0.3-cpu_pyhb8f9a19_3.conda": { "recipe": { "channel_targets": "conda-forge main", "cuda_compiler": "None", "python": "3.8.* *_cpython" } } } ```To clean this up, we skip any Python version except the minimum one that XGBoost supports. This ensures we build for exactly one Python. To get the syntax right we need to use Jinja.
Unfortunately that means we need to consolidate our other
skip
s into this one, which includes the Windows CUDA 11.8 skip. So we do so and try to make the syntax as pleasing as we can within the constraints.That all being said, this does keep the linter happy and it re-renders without generated unneeded Python builds.
Checklist
0
(if the version changed)conda-smithy
(Use the phrase code>@<space/conda-forge-admin, please rerender in a comment in this PR for automated rerendering)