| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288 |
- dist: trusty
- language: python
- cache:
- directories:
- - $HOME/.cache/pip
- - $TRAVIS_BUILD_DIR/.tox
- os:
- - linux
- # - osx
- matrix:
- fast_finish: true
- allow_failures:
- - os: osx
- include:
- - python: 2.7
- env: TOX_ENV=py27-aws TOX_TEST=test.test_block_store_service
- - python: 2.7
- env: TOX_ENV=py27-azure TOX_TEST=test.test_block_store_service
- - python: 2.7
- env: TOX_ENV=py27-openstack TOX_TEST=test.test_block_store_service
- - python: 2.7
- env: TOX_ENV=py27-aws TOX_TEST=test.test_cloud_factory
- - python: 2.7
- env: TOX_ENV=py27-azure TOX_TEST=test.test_cloud_factory
- - python: 2.7
- env: TOX_ENV=py27-openstack TOX_TEST=test.test_cloud_factory
- - python: 2.7
- env: TOX_ENV=py27-aws TOX_TEST=test.test_cloud_helpers
- - python: 2.7
- env: TOX_ENV=py27-azure TOX_TEST=test.test_cloud_helpers
- - python: 2.7
- env: TOX_ENV=py27-openstack TOX_TEST=test.test_cloud_helpers
- - python: 2.7
- env: TOX_ENV=py27-aws TOX_TEST=test.test_compute_service
- - python: 2.7
- env: TOX_ENV=py27-azure TOX_TEST=test.test_compute_service
- - python: 2.7
- env: TOX_ENV=py27-openstack TOX_TEST=test.test_compute_service
- - python: 2.7
- env: TOX_ENV=py27-aws TOX_TEST=test.test_interface
- - python: 2.7
- env: TOX_ENV=py27-azure TOX_TEST=test.test_interface
- - python: 2.7
- env: TOX_ENV=py27-openstack TOX_TEST=test.test_interface
- - python: 2.7
- env: TOX_ENV=py27-aws TOX_TEST=test.test_network_service
- - python: 2.7
- env: TOX_ENV=py27-azure TOX_TEST=test.test_network_service
- - python: 2.7
- env: TOX_ENV=py27-openstack TOX_TEST=test.test_network_service
- - python: 2.7
- env: TOX_ENV=py27-aws TOX_TEST=test.test_object_life_cycle
- - python: 2.7
- env: TOX_ENV=py27-azure TOX_TEST=test.test_object_life_cycle
- - python: 2.7
- env: TOX_ENV=py27-openstack TOX_TEST=test.test_object_life_cycle
- - python: 2.7
- env: TOX_ENV=py27-aws TOX_TEST=test.test_object_store_service
- - python: 2.7
- env: TOX_ENV=py27-azure TOX_TEST=test.test_object_store_service
- - python: 2.7
- env: TOX_ENV=py27-openstack TOX_TEST=test.test_object_store_service
- - python: 2.7
- env: TOX_ENV=py27-aws TOX_TEST=test.test_region_service
- - python: 2.7
- env: TOX_ENV=py27-azure TOX_TEST=test.test_region_service
- - python: 2.7
- env: TOX_ENV=py27-openstack TOX_TEST=test.test_region_service
- - python: 2.7
- env: TOX_ENV=py27-aws TOX_TEST=test.test_security_service
- - python: 2.7
- env: TOX_ENV=py27-azure TOX_TEST=test.test_security_service
- - python: 2.7
- env: TOX_ENV=py27-openstack TOX_TEST=test.test_security_service
- - python: 2.7
- env: TOX_ENV=py27-aws TOX_TEST=test.test_vm_types_service
- - python: 2.7
- env: TOX_ENV=py27-azure TOX_TEST=test.test_vm_types_service
- - python: 2.7
- env: TOX_ENV=py27-openstack TOX_TEST=test.test_vm_types_service
- - python: 2.7
- env: TOX_ENV=py27-aws TOX_TEST=test.test_image_service
- - python: 2.7
- env: TOX_ENV=py27-azure TOX_TEST=test.test_image_service
- - python: 2.7
- env: TOX_ENV=py27-openstack TOX_TEST=test.test_image_service
- - python: 3.6
- env: TOX_ENV=py36-aws TOX_TEST=test.test_block_store_service
- - python: 3.6
- env: TOX_ENV=py36-azure TOX_TEST=test.test_block_store_service
- - python: 3.6
- env: TOX_ENV=py36-openstack TOX_TEST=test.test_block_store_service
- - python: 3.6
- env: TOX_ENV=py36-aws TOX_TEST=test.test_cloud_factory
- - python: 3.6
- env: TOX_ENV=py36-azure TOX_TEST=test.test_cloud_factory
- - python: 3.6
- env: TOX_ENV=py36-openstack TOX_TEST=test.test_cloud_factory
- - python: 3.6
- env: TOX_ENV=py36-aws TOX_TEST=test.test_cloud_helpers
- - python: 3.6
- env: TOX_ENV=py36-azure TOX_TEST=test.test_cloud_helpers
- - python: 3.6
- env: TOX_ENV=py36-openstack TOX_TEST=test.test_cloud_helpers
- - python: 3.6
- env: TOX_ENV=py36-aws TOX_TEST=test.test_compute_service
- - python: 3.6
- env: TOX_ENV=py36-azure TOX_TEST=test.test_compute_service
- - python: 3.6
- env: TOX_ENV=py36-openstack TOX_TEST=test.test_compute_service
- - python: 3.6
- env: TOX_ENV=py36-aws TOX_TEST=test.test_interface
- - python: 3.6
- env: TOX_ENV=py36-azure TOX_TEST=test.test_interface
- - python: 3.6
- env: TOX_ENV=py36-openstack TOX_TEST=test.test_interface
- - python: 3.6
- env: TOX_ENV=py36-aws TOX_TEST=test.test_network_service
- - python: 3.6
- env: TOX_ENV=py36-azure TOX_TEST=test.test_network_service
- - python: 3.6
- env: TOX_ENV=py36-openstack TOX_TEST=test.test_network_service
- - python: 3.6
- env: TOX_ENV=py36-aws TOX_TEST=test.test_object_life_cycle
- - python: 3.6
- env: TOX_ENV=py36-azure TOX_TEST=test.test_object_life_cycle
- - python: 3.6
- env: TOX_ENV=py36-openstack TOX_TEST=test.test_object_life_cycle
- - python: 3.6
- env: TOX_ENV=py36-aws TOX_TEST=test.test_object_store_service
- - python: 3.6
- env: TOX_ENV=py36-azure TOX_TEST=test.test_object_store_service
- - python: 3.6
- env: TOX_ENV=py36-openstack TOX_TEST=test.test_object_store_service
- - python: 3.6
- env: TOX_ENV=py36-aws TOX_TEST=test.test_region_service
- - python: 3.6
- env: TOX_ENV=py36-azure TOX_TEST=test.test_region_service
- - python: 3.6
- env: TOX_ENV=py36-openstack TOX_TEST=test.test_region_service
- - python: 3.6
- env: TOX_ENV=py36-aws TOX_TEST=test.test_security_service
- - python: 3.6
- env: TOX_ENV=py36-azure TOX_TEST=test.test_security_service
- - python: 3.6
- env: TOX_ENV=py36-openstack TOX_TEST=test.test_security_service
- - python: 3.6
- env: TOX_ENV=py36-aws TOX_TEST=test.test_vm_types_service
- - python: 3.6
- env: TOX_ENV=py36-azure TOX_TEST=test.test_vm_types_service
- - python: 3.6
- env: TOX_ENV=py36-openstack TOX_TEST=test.test_vm_types_service
- - python: 3.6
- env: TOX_ENV=py36-aws TOX_TEST=test.test_image_service
- - python: 3.6
- env: TOX_ENV=py36-azure TOX_TEST=test.test_image_service
- - python: 3.6
- env: TOX_ENV=py36-openstack TOX_TEST=test.test_image_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-aws TOX_TEST=test.test_block_store_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-azure TOX_TEST=test.test_block_store_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-openstack TOX_TEST=test.test_block_store_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-aws TOX_TEST=test.test_cloud_factory
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-azure TOX_TEST=test.test_cloud_factory
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-openstack TOX_TEST=test.test_cloud_factory
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-aws TOX_TEST=test.test_cloud_helpers
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-azure TOX_TEST=test.test_cloud_helpers
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-openstack TOX_TEST=test.test_cloud_helpers
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-aws TOX_TEST=test.test_compute_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-azure TOX_TEST=test.test_compute_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-openstack TOX_TEST=test.test_compute_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-aws TOX_TEST=test.test_interface
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-azure TOX_TEST=test.test_interface
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-openstack TOX_TEST=test.test_interface
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-aws TOX_TEST=test.test_network_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-azure TOX_TEST=test.test_network_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-openstack TOX_TEST=test.test_network_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-aws TOX_TEST=test.test_object_life_cycle
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-azure TOX_TEST=test.test_object_life_cycle
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-openstack TOX_TEST=test.test_object_life_cycle
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-aws TOX_TEST=test.test_object_store_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-azure TOX_TEST=test.test_object_store_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-openstack TOX_TEST=test.test_object_store_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-aws TOX_TEST=test.test_region_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-azure TOX_TEST=test.test_region_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-openstack TOX_TEST=test.test_region_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-aws TOX_TEST=test.test_security_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-azure TOX_TEST=test.test_security_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-openstack TOX_TEST=test.test_security_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-aws TOX_TEST=test.test_vm_types_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-azure TOX_TEST=test.test_vm_types_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-openstack TOX_TEST=test.test_vm_types_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-aws TOX_TEST=test.test_image_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-azure TOX_TEST=test.test_image_service
- - python: pypy-5.3.1
- env: TOX_ENV=pypy-openstack TOX_TEST=test.test_image_service
- env:
- global:
- - PYTHONUNBUFFERED=True
- before_install:
- - |
- case "$TRAVIS_EVENT_TYPE" in
- push|pull_request)
- # Check whether we need to run a test for this provider
- DOCS_REGEX='(\.rst$)|(^(docs))/'
- FILES_IN_CHANGESET="`git diff --name-only $TRAVIS_COMMIT_RANGE`"
- echo "$FILES_IN_CHANGESET" | grep -qvE "$DOCS_REGEX" || {
- echo "Only docs were updated. Stopping build process."
- exit
- }
- echo "$FILES_IN_CHANGESET" | grep -qvE "$DOCS_REGEX|(^(cloudbridge/cloud/providers))" || {
- echo "Only docs and providers were updated. Checking whether this provider was changed."
- # Extract env and provider from $TOXENV into $PYENV and $PROVIDER respectively
- IFS=- read PYENV PROVIDER <<< "$TOX_ENV"
- echo "$FILES_IN_CHANGESET" | grep -qE "^(cloudbridge/cloud/providers/$PROVIDER)" && {
- echo "This provider was affected by this changeset. Running tests."
- } || {
- echo "This provider was not affected by this changeset. Stopping build process."
- exit
- }
- }
- ;;
- *)
- echo "Build triggered through API or CRON job. Running regardless of changes"
- ;;
- esac
- install:
- - pip install -U pip
- - pip install -U setuptools
- - pip install tox
- - pip install coveralls
- - pip install codecov
- script:
- - tox -r -e $TOX_ENV -- $TOX_TEST
- after_script:
- - |
- case "$TRAVIS_EVENT_TYPE" in
- push|pull_request)
- # Don't run coverage if tests or cloudbridge interface was not affected
- DOCS_REGEX='(\.rst$)|(^(docs))/'
- FILES_IN_CHANGESET="`git diff --name-only $TRAVIS_COMMIT_RANGE`"
- echo "$FILES_IN_CHANGESET" | grep -qvE "$DOCS_REGEX|(^(cloudbridge/cloud/providers))" && {
- coveralls &
- codecov &
- wait
- } || {
- echo "Only docs and providers were updated. Not running coverage."
- }
- ;;
- *)
- echo "Build triggered through API or CRON job. Running regardless of changes"
- coveralls & codecov & wait
- ;;
- esac
|