From 5e2ee0f1522643ae44f502b95d79538516f16fcc Mon Sep 17 00:00:00 2001 From: Andre Anjos <andre.dos.anjos@gmail.com> Date: Fri, 8 Mar 2019 13:55:43 +0100 Subject: [PATCH] [build] Fix usage of conda_build.api.build() when using metadata (bis) --- bob/devtools/build.py | 2 +- bob/devtools/scripts/ci.py | 22 +++++++++++++++++++--- bob/devtools/scripts/rebuild.py | 3 ++- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/bob/devtools/build.py b/bob/devtools/build.py index dbb1c4a3..f88ae633 100644 --- a/bob/devtools/build.py +++ b/bob/devtools/build.py @@ -524,7 +524,7 @@ def base_build(bootstrap, server, intranet, group, recipe_dir, # if you get to this point, just builds the package logger.info('Building %s', path) - conda_build.api.build(metadata[0], config=conda_config) + conda_build.api.build(metadata[0][0], config=conda_config) if __name__ == '__main__': diff --git a/bob/devtools/scripts/ci.py b/bob/devtools/scripts/ci.py index d9a7e919..183173c6 100644 --- a/bob/devtools/scripts/ci.py +++ b/bob/devtools/scripts/ci.py @@ -266,9 +266,25 @@ def base_build(order, group, python, dry_run): """ condarc = os.path.join(os.environ['CONDA_ROOT'], 'condarc') - logger.info('Loading (this build\'s) CONDARC file from %s...', condarc) - with open(condarc, 'rb') as f: - condarc_options = yaml.load(f) + if os.path.exists(condarc): + logger.info('Loading (this build\'s) CONDARC file from %s...', condarc) + with open(condarc, 'rb') as f: + condarc_options = yaml.load(f) + + else: #not building on the CI? - use defaults + import yaml + from ..constants import BASE_CONDARC, SERVER + from ..bootstrap import get_channels + + # get potential channel upload and other auxiliary channels + channels = get_channels(public=True, stable=True, server=SERVER, + intranet='True', group='bob') + + # use default and add channels + condarc_options = yaml.load(BASE_CONDARC) #n.b.: no channels + logger.info('Using the following channels during build:\n - %s', + '\n - '.join(channels + ['defaults'])) + condarc_options['channels'] = channels + ['defaults'] # dump packages at conda_root condarc_options['croot'] = os.path.join(os.environ['CONDA_ROOT'], diff --git a/bob/devtools/scripts/rebuild.py b/bob/devtools/scripts/rebuild.py index 0a375398..18f192a9 100644 --- a/bob/devtools/scripts/rebuild.py +++ b/bob/devtools/scripts/rebuild.py @@ -200,7 +200,8 @@ def rebuild(recipe_dir, python, condarc, config, append_file, os.unlink(candidate) if not dry_run: - conda_build.api.build(metadata[0], config=conda_config, notest=no_test) + conda_build.api.build(metadata[0][0], config=conda_config, + notest=no_test) # if you get to this point, the package was successfully rebuilt # set environment to signal caller we can upload it os.environ['BDT_REBUILD'] = candidate -- GitLab