diff --git a/bob/devtools/data/base-condarc b/bob/devtools/data/base-condarc index 480c551df17ff2e90f5d07083bb99c07a61b1ce8..c963517708ecb9f190e716c889c16ba3317b0e38 100644 --- a/bob/devtools/data/base-condarc +++ b/bob/devtools/data/base-condarc @@ -10,3 +10,5 @@ quiet: true #!final show_channel_urls: true #!final anaconda_upload: false #!final ssl_verify: false #!final +channels: + - defaults diff --git a/ci/bootstrap.sh b/ci/bootstrap.sh index a24bd0ca5d2d8408be0b91b4f3d2c0115e22755d..269594b5dba6ff17930ea52b1a7bcc9a5389ca74 100755 --- a/ci/bootstrap.sh +++ b/ci/bootstrap.sh @@ -108,7 +108,7 @@ install_miniconda() { check_defined CONDA_ROOT check_defined CI_PROJECT_DIR -export CONDARC=${CONDA_ROOT}/condarc +export CONDARC="${CONDA_ROOT}/condarc" check_defined CONDARC # checks if a conda installation exists. Otherwise, installs one @@ -120,33 +120,24 @@ run_cmd mkdir -p ${CONDA_ROOT}/pkgs run_cmd touch ${CONDA_ROOT}/pkgs/urls run_cmd touch ${CONDA_ROOT}/pkgs/urls.txt -CONDA_CHANNEL_ROOT=http://www.idiap.ch/public/conda -check_defined CONDA_CHANNEL_ROOT - run_cmd cp -fv ${CI_PROJECT_DIR}/bob/devtools/data/base-condarc ${CONDARC} -echo "channels:" >> ${CONDARC} -if [ "${1}" == "beta" ]; then - echo " - ${CONDA_CHANNEL_ROOT}/label/beta" >> ${CONDARC} -fi -echo " - ${CONDA_CHANNEL_ROOT}" >> ${CONDARC} -echo " - defaults" >> ${CONDARC} - -# displays contents of our configuration echo "Contents of \`${CONDARC}':" cat ${CONDARC} +# setup conda-channels +CONDA_CHANNEL_ROOT="http://www.idiap.ch/public/conda" +check_defined CONDA_CHANNEL_ROOT +CONDA_CLI_CHANNELS="-c ${CONDA_CHANNEL_ROOT} -c defaults" + # creates a base installation depending on the purpose if [ "${1}" == "build" ]; then run_cmd ${CONDA_ROOT}/bin/conda install -n base python conda=4 conda-build=3 elif [ "${1}" == "local" ]; then - if [ "$(uname -s)" == "Linux" ]; then - _os="linux-64" - else - _os="osx-64" - fi - run_cmd ${CONDA_ROOT}/bin/conda create -n "${2}" ${CONDA_ROOT}/conda-bld/${_os}/bob.devtools-*.tar.bz2 + run_cmd ${CONDA_ROOT}/bin/conda index ${CONDA_ROOT}/conda-bld + CONDA_CLI_CHANNELS="-c ${CONDA_ROOT}/conda-bld ${CONDA_CLI_CHANNELS}" + run_cmd ${CONDA_ROOT}/bin/conda create -n "${2}" --override-channels ${CONDA_CLI_CHANNELS} bob.devtools elif [ "${1}" == "beta" ] || [ "${1}" == "stable" ]; then - run_cmd ${CONDA_ROOT}/bin/conda create -n "${2}" bob.devtools + run_cmd ${CONDA_ROOT}/bin/conda create -n "${2}" --override-channels ${CONDA_CLI_CHANNELS} bob.devtools else log_error "Bootstrap with 'build', or 'local|beta|stable <name>'" log_error "The value '${1}' is not currently supported" diff --git a/ci/build.sh b/ci/build.sh index 986b06699c1fffb9d5d1ac20e9e15e5ab3d8b944..15db005e4000025bec31ebd302248d74b35c5e52 100755 --- a/ci/build.sh +++ b/ci/build.sh @@ -47,7 +47,7 @@ check_defined PYTHON_VERSION export DOCSERVER=http://www.idiap.ch check_defined DOCSERVER -export CONDARC=${CONDA_ROOT}/condarc +export CONDARC="${CONDA_ROOT}/condarc" check_defined CONDARC export BOB_PACKAGE_VERSION=`cat version.txt | tr -d '\n'`; @@ -59,21 +59,25 @@ run_cmd conda activate base export PATH check_defined PATH +CONDA_CHANNEL_ROOT="${DOCSERVER}/public/conda" +check_defined CONDA_CHANNEL_ROOT if [ -z "${CI_COMMIT_TAG}" ]; then #building beta - channel="http://www.idiap.ch/public/conda/label/beta" + UPLOAD_CHANNEL="${CONDA_CHANNEL_ROOT}/label/beta" else - channel="http://www.idiap.ch/public/conda" + UPLOAD_CHANNEL="${CONDA_CHANNEL_ROOT}" fi +check_defined UPLOAD_CHANNEL -log_info "$ ${CONDA_ROOT}/bin/python ${CI_PROJECT_DIR}/ci/nextbuild.py ${channel} ${CI_PROJECT_NAME} ${BOB_PACKAGE_VERSION} ${PYTHON_VERSION}" -export BOB_BUILD_NUMBER=$(${CONDA_ROOT}/bin/python ${CI_PROJECT_DIR}/ci/nextbuild.py ${channel} ${CI_PROJECT_NAME} ${BOB_PACKAGE_VERSION} ${PYTHON_VERSION}) +log_info "$ ${CONDA_ROOT}/bin/python ${CI_PROJECT_DIR}/ci/nextbuild.py ${UPLOAD_CHANNEL} ${CI_PROJECT_NAME} ${BOB_PACKAGE_VERSION} ${PYTHON_VERSION}" +export BOB_BUILD_NUMBER=$(${CONDA_ROOT}/bin/python ${CI_PROJECT_DIR}/ci/nextbuild.py ${UPLOAD_CHANNEL} ${CI_PROJECT_NAME} ${BOB_PACKAGE_VERSION} ${PYTHON_VERSION}) check_defined BOB_BUILD_NUMBER # copy the recipe_append.yaml over before build run_cmd cp ${CI_PROJECT_DIR}/bob/devtools/data/recipe_append.yaml conda/ run_cmd cp ${CI_PROJECT_DIR}/bob/devtools/data/conda_build_config.yaml conda/ -run_cmd ${CONDA_ROOT}/bin/conda build "--python=${PYTHON_VERSION} --no-anaconda-upload" conda +# to build, we only rely on the stable channel and defaults +run_cmd ${CONDA_ROOT}/bin/conda build --override-channels -c "${CONDA_CHANNEL_ROOT} -c defaults --python=${PYTHON_VERSION} --no-anaconda-upload" conda # run git clean to clean everything that is not needed. This helps to keep the # disk usage on CI machines to minimum.