diff --git a/gitlab/update_feedstock.py b/gitlab/update_feedstock.py index 36ef15e706ccd517b2ec6e0073730c3acc240387..2e449c9c12398d852e371629ef13fc6cd1ef37dd 100755 --- a/gitlab/update_feedstock.py +++ b/gitlab/update_feedstock.py @@ -94,13 +94,15 @@ class Gitlab(object): pipeline = subprocess.check_output(cmd) return json.loads(pipeline.decode()) - def create_merge_request(self, project_id, source_branch, target_branch, title, - assignee_id='', description='', target_project_id='', - labels='', milestone_id='', remove_source_branch=''): + def create_merge_request(self, project_id, source_branch, target_branch, + title, assignee_id='', description='', + target_project_id='', labels='', milestone_id='', + remove_source_branch=''): url = "projects/{}/merge_requests?" - url += "&".join(['source_branch={}', 'target_branch={}', 'title={}']) - url += "&".join(['assignee_id={}', 'description={}', 'target_project_id={}', - 'labels={}', 'milestone_id={}', 'remove_source_branch={}']) + url += "&".join(['source_branch={}', 'target_branch={}', 'title={}', + 'assignee_id={}', 'description={}', + 'target_project_id={}', 'labels={}', + 'milestone_id={}', 'remove_source_branch={}']) url = url.format(project_id, source_branch, target_branch, title, assignee_id, description, target_project_id, labels, milestone_id, remove_source_branch) @@ -181,12 +183,15 @@ def main(package, direct_push=False): f.write(doc) run_commands(['git', '--no-pager', 'diff'], - ['git', 'config', 'user.email', os.environ.get('GITLAB_USER_EMAIL')], - ['git', 'config', 'user.name', os.environ.get('GITLAB_USER_ID')], + ['git', 'config', 'user.email', + os.environ.get('GITLAB_USER_EMAIL')], + ['git', 'config', 'user.name', + os.environ.get('GITLAB_USER_ID')], ['git', 'add', '-A']) try: run_commands(['git', 'commit', '-am', - 'Update to version {}'.format(stable_version)]) + '[{}] Update to version {}'.format(package, + stable_version)]) except ValueError: print('Feedstock is already uptodate, skipping.') return @@ -202,13 +207,14 @@ def main(package, direct_push=False): 'https://github.com/conda-forge/' '{}-feedstock/commits/master\n\n'.format(package)) else: - subprocess.call(['git', 'remote', 'set-url', 'origin', - 'https://idiapbbb:{}@gitlab.idiap.ch/bob/bob.conda.git'.format(os.environ.get('IDIAPBBB_PASS'))]) + origin_url = 'https://idiapbbb:{}@gitlab.idiap.ch/bob/bob.conda.git' + origin_url = origin_url.format(os.environ.get('IDIAPBBB_PASS')) + subprocess.call(['git', 'remote', 'set-url', 'origin', origin_url]) run_commands(['git', 'push', '--quiet', '--force', '--set-upstream', 'origin', branch_name]) gitlab = Gitlab(os.environ.get('GITLAB_API_TOKEN')) project_id = gitlab.get_project('bob.conda')['id'] - title = 'Update-to-version-{}'.format(branch_name) + title = 'Update-to-{}'.format(branch_name) gitlab.create_merge_request(project_id, branch_name, 'master', title, remove_source_branch='true') finally: diff --git a/install/from-scratch.sh b/install/from-scratch.sh index 82af9be966e2fdc9aa79f623311df52bb1d7c92e..c7e5f63094fea3ff669dabcc3f5ff25e874d2f62 100755 --- a/install/from-scratch.sh +++ b/install/from-scratch.sh @@ -22,51 +22,64 @@ if [ -d ${BASEDIR}/envs/${NAME} ]; then fi fi +if [ "$(uname)" == "Linux" ] && [ ${PYTHON_VERSION} == "2.7" ]; then + CAFFE=caffe +else + CAFFE= +fi + +# This is needed for toolchain. Since we just use 64-bit, I am not checking if +# the system is 32 bit. +export ARCH=64 + # For a complete list of dependencies, please read: # https://gitlab.idiap.ch/bob/bob/wikis/Dependencies echo "[>>] Creating environment ${NAME} for python ${PYTHON_VERSION} with bob dependencies..." -${CONDA} create --yes -n ${NAME} --override-channels -c conda-forge -c defaults python=$PYTHON_VERSION \ - boost \ +${CONDA} create --yes -n ${NAME} \ + --override-channels \ + -c https://www.idiap.ch/software/bob/conda \ + -c defaults \ + python=$PYTHON_VERSION \ + anaconda=4.2.0 \ + boost=1.61 \ + ${CAFFE} \ cmake \ coverage \ - cython \ - dask \ + cython=0.24.1 \ + dask=0.11.0 \ docopt \ - ffmpeg \ - giflib \ - hdf5 \ - ipdb \ + ffmpeg=2.8.10 \ + gcc=4.8.5 \ + libgcc=4.8.5 \ + giflib=5.1.4 \ + hdf5=1.8.17 \ ipython \ - jpeg \ - libblitz \ - libmatio \ - libpng \ - libsvm \ - libtiff \ - matplotlib=1 \ - nose \ - numexpr \ - numpy \ + jpeg=8d \ + libblitz=0.10 \ + libmatio=1.5 \ + libpng=1.6.22 \ + libsvm=3.21 \ + libtiff=4.0.6 \ + matplotlib=1.5.3 \ + nose=1.3.7 \ + numexpr=2.6.1 \ + numpy=1.11 \ opencv=3 \ - pillow \ - pip \ + pillow=3.3.1 \ + pip=8.1.2 \ pkg-config \ - psutil \ - scikit-image \ - scikit-learn \ - scipy \ - sox \ - sphinx \ + psutil=4.3.1 \ + scikit-image=0.12.3 \ + scikit-learn=0.17.1 \ + scipy=0.18.1 \ + sox=14.4.2 \ + sphinx=1.4.6 \ sphinx_rtd_theme \ - sqlalchemy \ + sqlalchemy=1.0.13 \ tensorflow \ + toolchain \ virtualenv \ - vlfeat - -# Commented out while @amohammadi fixes it in conda-forge -#if [ "$(uname)" == "Linux" ] && [ ${PYTHON_VERSION} == "2.7" ]; then -# ${CONDA} install --yes -n ${NAME} --override-channels -c conda-forge -c defaults caffe -#fi + vlfeat=0.9.20 echo "[>>] Pip-installing extra dependencies in environment ${NAME} for ${PYTHON_VERSION}..." source ${BASEDIR}/bin/activate ${NAME} @@ -76,7 +89,7 @@ cyvlfeat=git+https://github.com/menpo/cyvlfeat@v0.4.5 if [ "$(uname)" == "Linux" ]; then CFLAGS="-I${CONDA_PREFIX}/include" LDFLAGS="-L${CONDA_PREFIX}/lib -lvl -Wl,-rpath=${CONDA_PREFIX}/lib" pip --no-cache-dir install ${cyvlfeat} else - CFLAGS="-I${CONDA_PREFIX}/include -mmacosx-version-min=10.9" LDFLAGS="-L${CONDA_PREFIX}/lib -lvl -Wl,-headerpad_max_install_names" pip --no-cache-dir install ${cyvlfeat} + CFLAGS="-I${CONDA_PREFIX}/include" LDFLAGS="-L${CONDA_PREFIX}/lib -lvl" pip --no-cache-dir install ${cyvlfeat} fi pip --no-cache-dir install \ @@ -84,7 +97,8 @@ pip --no-cache-dir install \ git+https://github.com/menpo/menpofit@v0.4.1 \ schema \ pyedflib \ - mne + mne \ + ipdb echo "[>>] Bye!" exit 0 diff --git a/install/install-conda.sh b/install/install-conda.sh index f87a79302be69274c281de0afc80eab1ba7f055e..734afc0cfb84fcaf07400913b531c879cbd72621 100755 --- a/install/install-conda.sh +++ b/install/install-conda.sh @@ -29,13 +29,9 @@ if [ ! -x ${CONDA} ]; then echo "[>>] Creating root environment and setting basic options..." bash ${MINICONDA} -b -p ${BASEDIR} ${CONDA} config --set show_channel_urls True - ${CONDA} config --add channels conda-forge + ${CONDA} config --add channels defaults + ${CONDA} config --add channels https://www.idiap.ch/software/bob/conda fi echo "[>>] Updating conda in the root environment..." ${CONDA} update --yes -n root conda - -echo "[>>] Installing conda-smithy..." -${CONDA} install --yes -n root conda-smithy - -echo "You need to manually install https://hub.github.com/ too ..." diff --git a/nightlies/trigger_pipelines.py b/nightlies/trigger_pipelines.py index aa8619584f7896f42ff5c8a28ccdf26ed12832c6..d2439da94b8129c981e1f6c7c2c6bf786d3b9137 100755 --- a/nightlies/trigger_pipelines.py +++ b/nightlies/trigger_pipelines.py @@ -122,7 +122,7 @@ def main(packages_list): last_pipeline['id'], package)) time.sleep(30) last_pipeline = gitlab.get_pipeline(pid, last_pipeline['id']) - if not last_pipeline['status'] == 'passed': + if not last_pipeline['status'] == 'success': print('Pipeline {} for project {} failed. Exiting ...'.format( last_pipeline['id'], package)) return