boa icon indicating copy to clipboard operation
boa copied to clipboard

conda mambabuild supports only a single recipe

Open Tobias-Fischer opened this issue 4 years ago • 5 comments

As the title says, e.g. --no-test is not forwarded to conda build, and thus tests are still executed although they shouldn't.

Tobias-Fischer avatar Feb 05 '21 05:02 Tobias-Fischer

I just stumbled upon a similar problem … i.e. that conda build supports multiple recipe paths to be passed, but conda mambabuild doesn't. I was just about to submit a PR to address this particular singular issue, but looking at the code, I wonder: could https://github.com/mamba-org/boa/blob/48caf3c2de11411757662d587018c62da759a432/boa/cli/mambabuild.py#L144 just be replaced e.g. by

from conda_build.cli.main_build import execute
execute(sys.argv[1:])

to just pass everything 1:1 to conda build? I did a quick test, and it seems to work fine, still apparently using mamba for solving/installing. Currently call_conda_build() does not seem to do much, but obviously it might be needed if there are more changes to be done in the future.

csachs avatar Mar 10 '21 16:03 csachs

I think this is fixed, again, with 0.4.2. sorry about that!

wolfv avatar Mar 13 '21 16:03 wolfv

@wolfv implemented like this it will still only handle one recipe, in contrast to what the help text suggests and conda build can do

csachs avatar Mar 13 '21 17:03 csachs

Sorry

wolfv avatar Mar 13 '21 17:03 wolfv

No problem! A quick workaround would be passing whole config.recipe not just config.recipe[0] to api.build(…) (not api.test(…) tho). But still I wonder if the 're-implementing parsing/handling logic' is even needed on the mambabuild-side, when apparently monkeypatching the solver is enough to get the desired result (fast solves with otherwise conda-build)…

csachs avatar Mar 13 '21 17:03 csachs