Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inline conda_build_config values to rattler-build recipes #153

Open
gforsyth opened this issue Feb 13, 2025 · 3 comments
Open

Inline conda_build_config values to rattler-build recipes #153

gforsyth opened this issue Feb 13, 2025 · 3 comments

Comments

@gforsyth
Copy link

As noted in rapidsai/rmm#1796 (comment)
the RAPIDS conda builds do not use variants (excepting ucxx)

We currently list the variants because the compiler version is dependent on the
CUDA version. This restriction will go away once we drop CUDA 11 support. At
that point, we should stop using the conda_build_config.yaml files and inline
the values there into the recipe.yaml file.

@jameslamb
Copy link
Member

we should stop using the conda_build_config.yaml files and inline the values there into the recipe.yaml file

Do recipes written for rattler-build support some way to set re-usable values?

Like can those recipes use YAML anchors or passed-in variables or Jinja set statements or something?

Asking because conda_build_config.yaml is serving that purpose for some RAPIDS recipes right now. For example, look at libraft: https://github.com/rapidsai/raft/blob/f089d1cd207dbc2784c71d0f392c0f1e6e1bc4f3/conda/recipes/libraft/meta.yaml

It uses conda_build_config.yaml to reduce duplication between things that need to be the same, to reduce the risk of "these 2 things are inconsistent" types of bugs.

For example, in conda_build_config.yaml:

cuda11_libcurand_run_version:
  - ">=10.2.5.43,<10.3.1"

(raft/conda/recipes/libraft/conda_build_config.yaml)

And in meta.yaml:

- libcurand {{ cuda11_libcurand_run_version }}
- libcurand-dev {{ cuda11_libcurand_run_version }}

(raft/conda/recipes/libraft/meta.yaml)

Just commenting to challenge the assumption that conda_build_config.yaml is used only for building variants. I hope we don't lose this ability to ensure consistency across things that need to be identical as RAPIDS recipes change to support rattler-build.

@gforsyth
Copy link
Author

Like can those recipes use YAML anchors or passed-in variables or Jinja set statements or something?

Yeah, we can set these in the context at the top of the recipe

@vyasr
Copy link
Contributor

vyasr commented Feb 22, 2025

For the record, this is equally possible with the legacy conda-build recipe format using top-level Jinja variables (like we do for the version etc). We simply chose not to do it that way (the decision predates me so I don't actually know why).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants