Multiple build with boa
See original GitHub issueFirst off, hats off to @wolfv and other mamba/boa project members. This is a huge improvements in developer quality of life vs conda build.
I have a requirement to create multiple C++ builds in our pipeline using boa (e.g. build vs debug, static vs dynamic).
With conda build
, I can specify the variants in the conda_build_config.yaml
file like such:
buildtype:
- debug
- release
I can reference the buildtype as a variable in meta.yaml
file directly like so:
build:
string: 'build{{ buildtype }}'
number: 0
script_env:
- CMAKE_BUILD_TYPE={{ buildtype }}
Conda build will take the vars and update the recipe accordingly.
However, if I were to do the same in boa’s recipe.yaml
, I find that the variables from the conda_build_config.yaml
are not accessible, and really only useable as version references for packages that matched the variable name.
Peeking through the codes, seems boa parses out the recipe.yaml
alone (without using any values from the variants), and replaces non-matching jinja2 variables with blank. Only later is the variants from conda_build_config.yaml
used to apply the versions against matching packages.
- Can someone please help explain the reasoning for changing the logic this extensively? I had read the reasoning for simplifying the recipe format, but this seems a bit drastic.
- What is the recommendation for how I can create separate debug and release build of my packages?
Issue Analytics
- State:
- Created 10 months ago
- Comments:5 (3 by maintainers)
Top GitHub Comments
Sorry haven’t had a chance to look into this, been a bit tied up at work, but will hopefully come back next week.
^ That would be different from what I’ve attempted in #261 but maybe more straightforward to implement.