Skip to content

Commit

Permalink
Merge pull request #167 from mcg1969/fix-ci
Browse files Browse the repository at this point in the history
Make tests pass with latest pip/conda/tornado
  • Loading branch information
fpliger committed Dec 14, 2018
2 parents e47922b + c5dbc34 commit b654efe
Show file tree
Hide file tree
Showing 89 changed files with 4,287 additions and 3,561 deletions.
30 changes: 15 additions & 15 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ sudo: required
env:
# All supported python versions
- MINICONDA_VERSION=latest TRAVIS_PYTHON_VERSION=2.7 TEST_TARGET=tests CONDA_CANARY=false
- MINICONDA_VERSION=latest TRAVIS_PYTHON_VERSION=3.5 TEST_TARGET=tests CONDA_CANARY=false
- MINICONDA_VERSION=latest TRAVIS_PYTHON_VERSION=3.6 TEST_TARGET=tests CONDA_CANARY=false
- MINICONDA_VERSION=latest TRAVIS_PYTHON_VERSION=3.7 TEST_TARGET=tests CONDA_CANARY=false
# Can build the package
- MINICONDA_VERSION=latest TRAVIS_PYTHON_VERSION=3.6 TEST_TARGET=packaging CONDA_CANARY=false
- MINICONDA_VERSION=latest TRAVIS_PYTHON_VERSION=3.7 TEST_TARGET=packaging CONDA_CANARY=false
# conda canary
- MINICONDA_VERSION=latest TRAVIS_PYTHON_VERSION=3.6 TEST_TARGET=tests CONDA_CANARY=true
- MINICONDA_VERSION=latest TRAVIS_PYTHON_VERSION=3.7 TEST_TARGET=tests CONDA_CANARY=true

os:
- linux
Expand All @@ -27,12 +27,12 @@ matrix:
- os: osx
env: MINICONDA_VERSION=latest TRAVIS_PYTHON_VERSION=2.7 TEST_TARGET=tests CONDA_CANARY=false
- os: osx
env: MINICONDA_VERSION=latest TRAVIS_PYTHON_VERSION=3.5 TEST_TARGET=tests CONDA_CANARY=false
env: MINICONDA_VERSION=latest TRAVIS_PYTHON_VERSION=3.6 TEST_TARGET=tests CONDA_CANARY=false
- os: osx
env: MINICONDA_VERSION=latest TRAVIS_PYTHON_VERSION=3.6 TEST_TARGET=packaging CONDA_CANARY=false
env: MINICONDA_VERSION=latest TRAVIS_PYTHON_VERSION=3.7 TEST_TARGET=packaging CONDA_CANARY=false
allow_failures:
# conda canary shouldn't block the build, just show us an FYI
- env: MINICONDA_VERSION=latest TRAVIS_PYTHON_VERSION=3.6 TEST_TARGET=tests CONDA_CANARY=true
- env: MINICONDA_VERSION=latest TRAVIS_PYTHON_VERSION=3.7 TEST_TARGET=tests CONDA_CANARY=true

install:
- printenv | sort
Expand All @@ -55,28 +55,28 @@ install:
# Use the latest conda
- conda update conda --no-pin -q
- if test x"$CONDA_CANARY" = xtrue ; then conda update -n root -c conda-canary conda; fi
- if test x"$MINICONDA_VERSION" = x"4.1.11" ; then CONDA_BUILD_CONSTRAINT='=2.1.5'; else CONDA_BUILD_CONSTRAINT='' ; fi
- conda install -n root conda-build$CONDA_BUILD_CONSTRAINT psutil
- conda install -n root conda-build psutil
- conda info -a
# we don't use environment.yml in here because I'm not sure how to parameterize the
# Python version and OS version in it. If we switch to being recursive and use
# anaconda-project.yml instead of environment.yml there's a way to do that though.
# Adding conda-forge as a lower-priority channel to pick up a few packages
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
OS_PACKAGES=libffi ;
fi ;
conda create -q -n test-environment python="$TRAVIS_PYTHON_VERSION" coverage tornado keyring pytest pytest-cov pip redis notebook bokeh ruamel_yaml anaconda-client requests psutil $OS_PACKAGES
conda create -q -n test-environment -c defaults -c conda-forge
python="$TRAVIS_PYTHON_VERSION" coverage tornado=4 pytest pytest-cov
pip redis notebook bokeh ruamel_yaml anaconda-client requests psutil
flake8 pep257 yapf keyring $OS_PACKAGES
- source activate test-environment
- printenv | sort
- unset CONDA_ENV_PATH # because the older conda in miniconda sets this, confusing some tests
- export PATH=`echo "$PATH" | sed -e s@"$HOME"/miniconda/bin:@@g`
- printenv | sort
- pip install flake8==2.6.2 pep257 yapf==0.6.2
- if [[ "$TRAVIS_PYTHON_VERSION" != "2.7" ]]; then
pip install ruamel.yaml;
fi ;

script:
- if test "$TEST_TARGET" = tests; then LANG=en_US.UTF-8 python scripts/run_tests.py --pytest-args ' -vv'; fi
- if test "$TEST_TARGET" = tests; then
LANG=en_US.UTF-8 python scripts/run_tests.py --pytest-args ' -vv';
fi
- if test "$TRAVIS_PYTHON_VERSION" = "3.5" && test "$TEST_TARGET" = "packaging"; then
git fetch --unshallow ;
LANG=en_US.UTF-8 python scripts/create_conda_packages.py;
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

We [keep a changelog.](http://keepachangelog.com/)

* [PR 167](https://github.com/Anaconda-Platform/anaconda-project/pull/167) - Fixes required to support newer versions of conda, pip, and tornado.

## Version 0.8.2 (2017/10/19) - Public Release

Expand Down
144 changes: 64 additions & 80 deletions anaconda_project/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,8 @@ def create_project(self, directory_path, make_directory=False, name=None, icon=N
Returns:
a Project instance
"""
return project_ops.create(directory_path=directory_path,
make_directory=make_directory,
name=name,
icon=icon,
description=description)
return project_ops.create(
directory_path=directory_path, make_directory=make_directory, name=name, icon=icon, description=description)

def prepare_project_locally(self,
project,
Expand Down Expand Up @@ -130,13 +127,14 @@ def prepare_project_locally(self,
a ``PrepareResult`` instance, which has a ``failed`` flag
"""
return prepare.prepare_without_interaction(project=project,
environ=environ,
mode=provide.PROVIDE_MODE_DEVELOPMENT,
env_spec_name=env_spec_name,
command_name=command_name,
command=command,
extra_command_args=extra_command_args)
return prepare.prepare_without_interaction(
project=project,
environ=environ,
mode=provide.PROVIDE_MODE_DEVELOPMENT,
env_spec_name=env_spec_name,
command_name=command_name,
command=command,
extra_command_args=extra_command_args)

def prepare_project_production(self,
project,
Expand Down Expand Up @@ -173,13 +171,14 @@ def prepare_project_production(self,
a ``PrepareResult`` instance, which has a ``failed`` flag
"""
return prepare.prepare_without_interaction(project=project,
environ=environ,
mode=provide.PROVIDE_MODE_PRODUCTION,
env_spec_name=env_spec_name,
command_name=command_name,
command=command,
extra_command_args=extra_command_args)
return prepare.prepare_without_interaction(
project=project,
environ=environ,
mode=provide.PROVIDE_MODE_PRODUCTION,
env_spec_name=env_spec_name,
command_name=command_name,
command=command,
extra_command_args=extra_command_args)

def prepare_project_check(self,
project,
Expand Down Expand Up @@ -211,13 +210,14 @@ def prepare_project_check(self,
a ``PrepareResult`` instance, which has a ``failed`` flag
"""
return prepare.prepare_without_interaction(project=project,
environ=environ,
mode=provide.PROVIDE_MODE_CHECK,
env_spec_name=env_spec_name,
command_name=command_name,
command=command,
extra_command_args=extra_command_args)
return prepare.prepare_without_interaction(
project=project,
environ=environ,
mode=provide.PROVIDE_MODE_CHECK,
env_spec_name=env_spec_name,
command_name=command_name,
command=command,
extra_command_args=extra_command_args)

def unprepare(self, project, prepare_result, whitelist=None):
"""Attempt to clean up project-scoped resources allocated by prepare().
Expand Down Expand Up @@ -273,10 +273,8 @@ def add_variables(self, project, env_spec_name, vars_to_add, defaults):
Returns:
``Status`` instance
"""
return project_ops.add_variables(project=project,
env_spec_name=env_spec_name,
vars_to_add=vars_to_add,
defaults=defaults)
return project_ops.add_variables(
project=project, env_spec_name=env_spec_name, vars_to_add=vars_to_add, defaults=defaults)

def remove_variables(self, project, env_spec_name, vars_to_remove, prepare_result=None):
"""Remove variables from anaconda-project.yml and unset their values in local project state.
Expand All @@ -294,10 +292,8 @@ def remove_variables(self, project, env_spec_name, vars_to_remove, prepare_resul
Returns:
``Status`` instance
"""
return project_ops.remove_variables(project=project,
env_spec_name=env_spec_name,
vars_to_remove=vars_to_remove,
prepare_result=prepare_result)
return project_ops.remove_variables(
project=project, env_spec_name=env_spec_name, vars_to_remove=vars_to_remove, prepare_result=prepare_result)

def set_variables(self, project, env_spec_name, vars_and_values, prepare_result=None):
"""Set variables' values in anaconda-project-local.yml.
Expand All @@ -315,10 +311,11 @@ def set_variables(self, project, env_spec_name, vars_and_values, prepare_result=
Returns:
``Status`` instance
"""
return project_ops.set_variables(project=project,
env_spec_name=env_spec_name,
vars_and_values=vars_and_values,
prepare_result=prepare_result)
return project_ops.set_variables(
project=project,
env_spec_name=env_spec_name,
vars_and_values=vars_and_values,
prepare_result=prepare_result)

def unset_variables(self, project, env_spec_name, vars_to_unset, prepare_result=None):
"""Unset variables' values in anaconda-project-local.yml.
Expand All @@ -336,10 +333,8 @@ def unset_variables(self, project, env_spec_name, vars_to_unset, prepare_result=
Returns:
``Status`` instance
"""
return project_ops.unset_variables(project=project,
env_spec_name=env_spec_name,
vars_to_unset=vars_to_unset,
prepare_result=prepare_result)
return project_ops.unset_variables(
project=project, env_spec_name=env_spec_name, vars_to_unset=vars_to_unset, prepare_result=prepare_result)

def add_download(self, project, env_spec_name, env_var, url, filename=None, hash_algorithm=None, hash_value=None):
"""Attempt to download the URL; if successful, add it as a download to the project.
Expand All @@ -363,13 +358,14 @@ def add_download(self, project, env_spec_name, env_var, url, filename=None, hash
Returns:
``Status`` instance
"""
return project_ops.add_download(project=project,
env_spec_name=env_spec_name,
env_var=env_var,
url=url,
filename=filename,
hash_algorithm=hash_algorithm,
hash_value=hash_value)
return project_ops.add_download(
project=project,
env_spec_name=env_spec_name,
env_var=env_var,
url=url,
filename=filename,
hash_algorithm=hash_algorithm,
hash_value=hash_value)

def remove_download(self, project, env_spec_name, env_var, prepare_result=None):
"""Remove file or directory referenced by ``env_var`` from file system and the project.
Expand All @@ -387,10 +383,8 @@ def remove_download(self, project, env_spec_name, env_var, prepare_result=None):
Returns:
``Status`` instance
"""
return project_ops.remove_download(project=project,
env_spec_name=env_spec_name,
env_var=env_var,
prepare_result=prepare_result)
return project_ops.remove_download(
project=project, env_spec_name=env_spec_name, env_var=env_var, prepare_result=prepare_result)

def add_env_spec(self, project, name, packages, channels):
"""Attempt to create the environment spec and add it to anaconda-project.yml.
Expand Down Expand Up @@ -466,10 +460,8 @@ def add_packages(self, project, env_spec_name, packages, channels):
``Status`` instance
"""
return project_ops.add_packages(project=project,
env_spec_name=env_spec_name,
packages=packages,
channels=channels)
return project_ops.add_packages(
project=project, env_spec_name=env_spec_name, packages=packages, channels=channels)

def remove_packages(self, project, env_spec_name, packages):
"""Attempt to remove packages from an environment spec in anaconda-project.yml.
Expand Down Expand Up @@ -609,12 +601,13 @@ def add_command(self, project, name, command_type, command, env_spec_name=None,
a ``Status`` instance
"""
return project_ops.add_command(project=project,
name=name,
command_type=command_type,
command=command,
env_spec_name=env_spec_name,
supports_http_options=supports_http_options)
return project_ops.add_command(
project=project,
name=name,
command_type=command_type,
command=command,
env_spec_name=env_spec_name,
supports_http_options=supports_http_options)

def update_command(self, project, name, command_type=None, command=None, new_name=None):
"""Update attributes of a command in anaconda-project.yml.
Expand All @@ -633,11 +626,8 @@ def update_command(self, project, name, command_type=None, command=None, new_nam
Returns:
a ``Status`` instance
"""
return project_ops.update_command(project=project,
name=name,
command_type=command_type,
command=command,
new_name=new_name)
return project_ops.update_command(
project=project, name=name, command_type=command_type, command=command, new_name=new_name)

def remove_command(self, project, name):
"""Remove a command from anaconda-project.yml.
Expand Down Expand Up @@ -673,10 +663,8 @@ def add_service(self, project, env_spec_name, service_type, variable_name=None):
Returns:
``Status`` instance
"""
return project_ops.add_service(project=project,
env_spec_name=env_spec_name,
service_type=service_type,
variable_name=variable_name)
return project_ops.add_service(
project=project, env_spec_name=env_spec_name, service_type=service_type, variable_name=variable_name)

def remove_service(self, project, env_spec_name, variable_name, prepare_result=None):
"""Remove a service to anaconda-project.yml.
Expand All @@ -694,10 +682,8 @@ def remove_service(self, project, env_spec_name, variable_name, prepare_result=N
Returns:
``Status`` instance
"""
return project_ops.remove_service(project=project,
env_spec_name=env_spec_name,
variable_name=variable_name,
prepare_result=prepare_result)
return project_ops.remove_service(
project=project, env_spec_name=env_spec_name, variable_name=variable_name, prepare_result=prepare_result)

def clean(self, project, prepare_result):
"""Blow away auto-provided state for the project.
Expand Down Expand Up @@ -751,10 +737,8 @@ def unarchive(self, filename, project_dir, parent_dir=None, frontend=None):
a ``Status``, if failed has ``errors``, on success has ``project_dir`` property.
"""
return project_ops.unarchive(filename=filename,
project_dir=project_dir,
parent_dir=parent_dir,
frontend=frontend)
return project_ops.unarchive(
filename=filename, project_dir=project_dir, parent_dir=parent_dir, frontend=frontend)

def upload(self, project, site=None, username=None, token=None, log_level=None):
"""Upload the project to the Anaconda server.
Expand Down

0 comments on commit b654efe

Please sign in to comment.