|
|
@@ -1,82 +0,0 @@
|
|
|
-language: python
|
|
|
-cache:
|
|
|
- directories:
|
|
|
- - "$HOME/.cache/pip"
|
|
|
- - "$TRAVIS_BUILD_DIR/.tox"
|
|
|
-os:
|
|
|
-- linux
|
|
|
-matrix:
|
|
|
- fast_finish: true
|
|
|
- allow_failures:
|
|
|
- - os: osx
|
|
|
- include:
|
|
|
- - python: 3.6
|
|
|
- env: TOX_ENV=py36-aws
|
|
|
- - python: 3.6
|
|
|
- env: TOX_ENV=py36-azure
|
|
|
- - python: 3.6
|
|
|
- env: TOX_ENV=py36-gcp
|
|
|
- - python: 3.6
|
|
|
- env: TOX_ENV=py36-mock
|
|
|
- - python: 3.6
|
|
|
- env: TOX_ENV=py36-openstack
|
|
|
-env:
|
|
|
- global:
|
|
|
- - PYTHONUNBUFFERED=True
|
|
|
- - COVERALLS_PARALLEL=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 "coverage<5"
|
|
|
- - pip install tox
|
|
|
- - pip install coveralls
|
|
|
- - pip install codecov
|
|
|
-script:
|
|
|
- - tox -e $TOX_ENV
|
|
|
-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;
|
|
|
- } || {
|
|
|
- echo "Only docs and providers were updated. Not running coverage."
|
|
|
- }
|
|
|
- ;;
|
|
|
- *)
|
|
|
- echo "Build triggered through API or CRON job. Running regardless of changes"
|
|
|
- coveralls; codecov;
|
|
|
- ;;
|
|
|
- esac
|
|
|
-notifications:
|
|
|
- webhooks: https://coveralls.io/webhook
|