2019-04-30 22:36:47 +08:00
|
|
|
# This code is part of Qiskit.
|
2017-05-12 00:12:57 +08:00
|
|
|
#
|
2019-04-30 22:36:47 +08:00
|
|
|
# (C) Copyright IBM 2017.
|
|
|
|
#
|
|
|
|
# This code is licensed under the Apache License, Version 2.0. You may
|
|
|
|
# obtain a copy of this license in the LICENSE.txt file in the root directory
|
|
|
|
# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
|
|
|
|
#
|
|
|
|
# Any modifications or derivative works of this code must retain this
|
|
|
|
# copyright notice, and modified files need to carry a notice indicating
|
|
|
|
# that they have been altered from the originals.
|
2017-05-12 00:12:57 +08:00
|
|
|
|
Revise travis configuration, using cmake
* Revise the travis configuration for using `cmake` for the several
targets, and use "stages" instead of parallel jobs:
* define three stages that are executed if the previous one suceeds:
1. "linter and pure python test": executes the linter and a test
without compiling the binaries, with the idea of providing quick
feedback for PRs.
2. "test": launch the test, including the compilation of binaries,
under GNU/Linux Python 3.6 and 3.6; and osx Python 3.6.
3. "deploy doc and pypi": for the stable branch, deploy the docs
to the landing page, and when using a specific commit message,
build the GNU/Linux and osx wheels, uploading them to test.pypi.
* use yaml anchors and definitions to avoid repeating code (and
working around travis limitations).
* Modify the `cmake``configuration to accomodate the stages flow:
* allow conditional creation of compilation and QA targets, mainly
for saving some time in some jobs.
* move the tests to `cmake/tests.cmake`.
* Update the tests:
* add a `requires_qe_access` decorator that retrieves QE_TOKEN and
QE_URL and appends them to the parameters in an unified manner.
* add an environment variable `SKIP_ONLINE_TESTS` that allows to
skip the tests that need network access.
* replace `TRAVIS_FORK_PULL_REQUEST` with the previous two
mechanisms, adding support for AppVeyor as well.
* fix a problem with matplotlib under osx headless, effectively
skipping `test_visualization.py` during the travis osx jobs.
* Move Sphinx to `requirements-dev.txt`.
2018-02-13 05:11:28 +08:00
|
|
|
notifications:
|
|
|
|
email: false
|
2017-05-12 00:12:57 +08:00
|
|
|
|
2017-12-29 07:41:24 +08:00
|
|
|
cache: pip
|
Revise travis configuration, using cmake
* Revise the travis configuration for using `cmake` for the several
targets, and use "stages" instead of parallel jobs:
* define three stages that are executed if the previous one suceeds:
1. "linter and pure python test": executes the linter and a test
without compiling the binaries, with the idea of providing quick
feedback for PRs.
2. "test": launch the test, including the compilation of binaries,
under GNU/Linux Python 3.6 and 3.6; and osx Python 3.6.
3. "deploy doc and pypi": for the stable branch, deploy the docs
to the landing page, and when using a specific commit message,
build the GNU/Linux and osx wheels, uploading them to test.pypi.
* use yaml anchors and definitions to avoid repeating code (and
working around travis limitations).
* Modify the `cmake``configuration to accomodate the stages flow:
* allow conditional creation of compilation and QA targets, mainly
for saving some time in some jobs.
* move the tests to `cmake/tests.cmake`.
* Update the tests:
* add a `requires_qe_access` decorator that retrieves QE_TOKEN and
QE_URL and appends them to the parameters in an unified manner.
* add an environment variable `SKIP_ONLINE_TESTS` that allows to
skip the tests that need network access.
* replace `TRAVIS_FORK_PULL_REQUEST` with the previous two
mechanisms, adding support for AppVeyor as well.
* fix a problem with matplotlib under osx headless, effectively
skipping `test_visualization.py` during the travis osx jobs.
* Move Sphinx to `requirements-dev.txt`.
2018-02-13 05:11:28 +08:00
|
|
|
sudo: false
|
2017-05-11 00:44:30 +08:00
|
|
|
|
Revise travis configuration, using cmake
* Revise the travis configuration for using `cmake` for the several
targets, and use "stages" instead of parallel jobs:
* define three stages that are executed if the previous one suceeds:
1. "linter and pure python test": executes the linter and a test
without compiling the binaries, with the idea of providing quick
feedback for PRs.
2. "test": launch the test, including the compilation of binaries,
under GNU/Linux Python 3.6 and 3.6; and osx Python 3.6.
3. "deploy doc and pypi": for the stable branch, deploy the docs
to the landing page, and when using a specific commit message,
build the GNU/Linux and osx wheels, uploading them to test.pypi.
* use yaml anchors and definitions to avoid repeating code (and
working around travis limitations).
* Modify the `cmake``configuration to accomodate the stages flow:
* allow conditional creation of compilation and QA targets, mainly
for saving some time in some jobs.
* move the tests to `cmake/tests.cmake`.
* Update the tests:
* add a `requires_qe_access` decorator that retrieves QE_TOKEN and
QE_URL and appends them to the parameters in an unified manner.
* add an environment variable `SKIP_ONLINE_TESTS` that allows to
skip the tests that need network access.
* replace `TRAVIS_FORK_PULL_REQUEST` with the previous two
mechanisms, adding support for AppVeyor as well.
* fix a problem with matplotlib under osx headless, effectively
skipping `test_visualization.py` during the travis osx jobs.
* Move Sphinx to `requirements-dev.txt`.
2018-02-13 05:11:28 +08:00
|
|
|
###############################################################################
|
|
|
|
# Anchored and aliased definitions.
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
# These are used for avoiding repeating code, and due to problems with
|
|
|
|
# overriding some keys (in particular, "os" and "language: ptyhon") when using
|
|
|
|
# the standard travis matrix with stages.
|
|
|
|
#
|
|
|
|
# This allows re-using different "sets" of configurations in the stages
|
|
|
|
# matrix, mimicking a hierarchy:
|
|
|
|
# * stage_generic
|
|
|
|
# * stage_linux
|
|
|
|
# * stage_osx
|
|
|
|
|
|
|
|
stage_generic: &stage_generic
|
|
|
|
install:
|
|
|
|
# Install step for jobs that require compilation and qa.
|
|
|
|
- pip install -U -r requirements.txt
|
2019-02-28 03:35:01 +08:00
|
|
|
- pip install -U -r requirements-dev.txt -c constraints.txt
|
2019-05-04 05:26:23 +08:00
|
|
|
- pip install -e .
|
|
|
|
- pip install "qiskit-ibmq-provider" -c constraints.txt
|
Revise travis configuration, using cmake
* Revise the travis configuration for using `cmake` for the several
targets, and use "stages" instead of parallel jobs:
* define three stages that are executed if the previous one suceeds:
1. "linter and pure python test": executes the linter and a test
without compiling the binaries, with the idea of providing quick
feedback for PRs.
2. "test": launch the test, including the compilation of binaries,
under GNU/Linux Python 3.6 and 3.6; and osx Python 3.6.
3. "deploy doc and pypi": for the stable branch, deploy the docs
to the landing page, and when using a specific commit message,
build the GNU/Linux and osx wheels, uploading them to test.pypi.
* use yaml anchors and definitions to avoid repeating code (and
working around travis limitations).
* Modify the `cmake``configuration to accomodate the stages flow:
* allow conditional creation of compilation and QA targets, mainly
for saving some time in some jobs.
* move the tests to `cmake/tests.cmake`.
* Update the tests:
* add a `requires_qe_access` decorator that retrieves QE_TOKEN and
QE_URL and appends them to the parameters in an unified manner.
* add an environment variable `SKIP_ONLINE_TESTS` that allows to
skip the tests that need network access.
* replace `TRAVIS_FORK_PULL_REQUEST` with the previous two
mechanisms, adding support for AppVeyor as well.
* fix a problem with matplotlib under osx headless, effectively
skipping `test_visualization.py` during the travis osx jobs.
* Move Sphinx to `requirements-dev.txt`.
2018-02-13 05:11:28 +08:00
|
|
|
script:
|
|
|
|
# Compile the executables and run the tests.
|
2019-02-22 02:58:06 +08:00
|
|
|
- python setup.py build_ext --inplace
|
2019-02-06 05:28:16 +08:00
|
|
|
- make test_ci
|
2019-02-12 06:34:20 +08:00
|
|
|
after_failure:
|
|
|
|
- python tools/report_ci_failure.py
|
Revise travis configuration, using cmake
* Revise the travis configuration for using `cmake` for the several
targets, and use "stages" instead of parallel jobs:
* define three stages that are executed if the previous one suceeds:
1. "linter and pure python test": executes the linter and a test
without compiling the binaries, with the idea of providing quick
feedback for PRs.
2. "test": launch the test, including the compilation of binaries,
under GNU/Linux Python 3.6 and 3.6; and osx Python 3.6.
3. "deploy doc and pypi": for the stable branch, deploy the docs
to the landing page, and when using a specific commit message,
build the GNU/Linux and osx wheels, uploading them to test.pypi.
* use yaml anchors and definitions to avoid repeating code (and
working around travis limitations).
* Modify the `cmake``configuration to accomodate the stages flow:
* allow conditional creation of compilation and QA targets, mainly
for saving some time in some jobs.
* move the tests to `cmake/tests.cmake`.
* Update the tests:
* add a `requires_qe_access` decorator that retrieves QE_TOKEN and
QE_URL and appends them to the parameters in an unified manner.
* add an environment variable `SKIP_ONLINE_TESTS` that allows to
skip the tests that need network access.
* replace `TRAVIS_FORK_PULL_REQUEST` with the previous two
mechanisms, adding support for AppVeyor as well.
* fix a problem with matplotlib under osx headless, effectively
skipping `test_visualization.py` during the travis osx jobs.
* Move Sphinx to `requirements-dev.txt`.
2018-02-13 05:11:28 +08:00
|
|
|
|
|
|
|
stage_linux: &stage_linux
|
|
|
|
<<: *stage_generic
|
|
|
|
os: linux
|
|
|
|
dist: trusty
|
|
|
|
language: python
|
|
|
|
python: 3.5
|
|
|
|
|
|
|
|
stage_osx: &stage_osx
|
|
|
|
<<: *stage_generic
|
|
|
|
os: osx
|
|
|
|
osx_image: xcode9.2
|
|
|
|
language: generic
|
2019-02-12 18:43:12 +08:00
|
|
|
cache:
|
|
|
|
pip: true
|
|
|
|
directories:
|
|
|
|
- ~/python-interpreters/
|
Revise travis configuration, using cmake
* Revise the travis configuration for using `cmake` for the several
targets, and use "stages" instead of parallel jobs:
* define three stages that are executed if the previous one suceeds:
1. "linter and pure python test": executes the linter and a test
without compiling the binaries, with the idea of providing quick
feedback for PRs.
2. "test": launch the test, including the compilation of binaries,
under GNU/Linux Python 3.6 and 3.6; and osx Python 3.6.
3. "deploy doc and pypi": for the stable branch, deploy the docs
to the landing page, and when using a specific commit message,
build the GNU/Linux and osx wheels, uploading them to test.pypi.
* use yaml anchors and definitions to avoid repeating code (and
working around travis limitations).
* Modify the `cmake``configuration to accomodate the stages flow:
* allow conditional creation of compilation and QA targets, mainly
for saving some time in some jobs.
* move the tests to `cmake/tests.cmake`.
* Update the tests:
* add a `requires_qe_access` decorator that retrieves QE_TOKEN and
QE_URL and appends them to the parameters in an unified manner.
* add an environment variable `SKIP_ONLINE_TESTS` that allows to
skip the tests that need network access.
* replace `TRAVIS_FORK_PULL_REQUEST` with the previous two
mechanisms, adding support for AppVeyor as well.
* fix a problem with matplotlib under osx headless, effectively
skipping `test_visualization.py` during the travis osx jobs.
* Move Sphinx to `requirements-dev.txt`.
2018-02-13 05:11:28 +08:00
|
|
|
before_install:
|
|
|
|
# Travis does not provide support for Python 3 under osx - it needs to be
|
|
|
|
# installed manually.
|
|
|
|
|
|
|
|
|
if [ ${TRAVIS_OS_NAME} = "osx" ]; then
|
2019-02-12 18:43:12 +08:00
|
|
|
if [[ ! -d ~/python-interpreters/$PYTHON_VERSION ]]; then
|
|
|
|
git clone git://github.com/pyenv/pyenv.git
|
|
|
|
cd pyenv/plugins/python-build
|
|
|
|
./install.sh
|
|
|
|
cd ../../..
|
|
|
|
python-build $PYTHON_VERSION ~/python-interpreters/$PYTHON_VERSION
|
|
|
|
fi
|
|
|
|
virtualenv --python ~/python-interpreters/$PYTHON_VERSION/bin/python venv
|
2018-07-06 05:09:14 +08:00
|
|
|
source venv/bin/activate
|
|
|
|
fi
|
|
|
|
|
Revise travis configuration, using cmake
* Revise the travis configuration for using `cmake` for the several
targets, and use "stages" instead of parallel jobs:
* define three stages that are executed if the previous one suceeds:
1. "linter and pure python test": executes the linter and a test
without compiling the binaries, with the idea of providing quick
feedback for PRs.
2. "test": launch the test, including the compilation of binaries,
under GNU/Linux Python 3.6 and 3.6; and osx Python 3.6.
3. "deploy doc and pypi": for the stable branch, deploy the docs
to the landing page, and when using a specific commit message,
build the GNU/Linux and osx wheels, uploading them to test.pypi.
* use yaml anchors and definitions to avoid repeating code (and
working around travis limitations).
* Modify the `cmake``configuration to accomodate the stages flow:
* allow conditional creation of compilation and QA targets, mainly
for saving some time in some jobs.
* move the tests to `cmake/tests.cmake`.
* Update the tests:
* add a `requires_qe_access` decorator that retrieves QE_TOKEN and
QE_URL and appends them to the parameters in an unified manner.
* add an environment variable `SKIP_ONLINE_TESTS` that allows to
skip the tests that need network access.
* replace `TRAVIS_FORK_PULL_REQUEST` with the previous two
mechanisms, adding support for AppVeyor as well.
* fix a problem with matplotlib under osx headless, effectively
skipping `test_visualization.py` during the travis osx jobs.
* Move Sphinx to `requirements-dev.txt`.
2018-02-13 05:11:28 +08:00
|
|
|
|
|
|
|
###############################################################################
|
|
|
|
# Stage-related definitions
|
|
|
|
###############################################################################
|
|
|
|
|
|
|
|
# Define the order of the stages.
|
|
|
|
stages:
|
|
|
|
- lint and pure python test
|
|
|
|
- test
|
|
|
|
|
|
|
|
# Define the job matrix explicitly, as matrix expansion causes issues when
|
|
|
|
# using it with stages and some variables/sections cannot be overridden.
|
|
|
|
jobs:
|
|
|
|
include:
|
2019-04-24 22:36:35 +08:00
|
|
|
# Wheel builds
|
|
|
|
- sudo: required
|
|
|
|
services:
|
|
|
|
- docker
|
|
|
|
env:
|
|
|
|
- CIBW_BEFORE_BUILD="pip install -U Cython"
|
|
|
|
- CIBW_SKIP="cp27-* cp34-*"
|
|
|
|
- TWINE_USERNAME=qiskit
|
2019-05-02 05:40:16 +08:00
|
|
|
- CIBW_TEST_COMMAND="python3 {project}/examples/python/stochastic_swap.py"
|
2019-04-24 22:36:35 +08:00
|
|
|
if: tag IS present
|
|
|
|
script:
|
2019-05-15 01:23:42 +08:00
|
|
|
- sudo pip install cibuildwheel==0.10.2
|
|
|
|
- sudo pip install -U twine
|
2019-04-24 22:36:35 +08:00
|
|
|
- cibuildwheel --output-dir wheelhouse
|
|
|
|
- twine upload wheelhouse/*
|
|
|
|
- os: osx
|
|
|
|
language: generic
|
|
|
|
if: tag IS present
|
|
|
|
env:
|
|
|
|
- CIBW_BEFORE_BUILD="pip install -U Cython"
|
|
|
|
- CIBW_SKIP="cp27-* cp34-*"
|
|
|
|
- TWINE_USERNAME=qiskit
|
2019-05-02 05:40:16 +08:00
|
|
|
- CIBW_TEST_COMMAND="python3 {project}/examples/python/stochastic_swap.py"
|
2019-04-24 22:36:35 +08:00
|
|
|
script:
|
2019-05-15 01:23:42 +08:00
|
|
|
- sudo pip2 install cibuildwheel==0.10.2
|
|
|
|
- sudo pip2 install -U twine
|
2019-04-24 22:36:35 +08:00
|
|
|
- cibuildwheel --output-dir wheelhouse
|
|
|
|
- twine upload wheelhouse/*
|
|
|
|
|
Revise travis configuration, using cmake
* Revise the travis configuration for using `cmake` for the several
targets, and use "stages" instead of parallel jobs:
* define three stages that are executed if the previous one suceeds:
1. "linter and pure python test": executes the linter and a test
without compiling the binaries, with the idea of providing quick
feedback for PRs.
2. "test": launch the test, including the compilation of binaries,
under GNU/Linux Python 3.6 and 3.6; and osx Python 3.6.
3. "deploy doc and pypi": for the stable branch, deploy the docs
to the landing page, and when using a specific commit message,
build the GNU/Linux and osx wheels, uploading them to test.pypi.
* use yaml anchors and definitions to avoid repeating code (and
working around travis limitations).
* Modify the `cmake``configuration to accomodate the stages flow:
* allow conditional creation of compilation and QA targets, mainly
for saving some time in some jobs.
* move the tests to `cmake/tests.cmake`.
* Update the tests:
* add a `requires_qe_access` decorator that retrieves QE_TOKEN and
QE_URL and appends them to the parameters in an unified manner.
* add an environment variable `SKIP_ONLINE_TESTS` that allows to
skip the tests that need network access.
* replace `TRAVIS_FORK_PULL_REQUEST` with the previous two
mechanisms, adding support for AppVeyor as well.
* fix a problem with matplotlib under osx headless, effectively
skipping `test_visualization.py` during the travis osx jobs.
* Move Sphinx to `requirements-dev.txt`.
2018-02-13 05:11:28 +08:00
|
|
|
# "lint and and pure python test" stage
|
|
|
|
###########################################################################
|
|
|
|
# Linter and style check (GNU/Linux, Python 3.5)
|
|
|
|
- stage: lint and pure python test
|
2019-04-24 02:10:57 +08:00
|
|
|
name: Python Style and Linter
|
2019-01-09 06:22:18 +08:00
|
|
|
<<: *stage_linux
|
2019-01-14 20:03:54 +08:00
|
|
|
script: make style && make lint
|
Revise travis configuration, using cmake
* Revise the travis configuration for using `cmake` for the several
targets, and use "stages" instead of parallel jobs:
* define three stages that are executed if the previous one suceeds:
1. "linter and pure python test": executes the linter and a test
without compiling the binaries, with the idea of providing quick
feedback for PRs.
2. "test": launch the test, including the compilation of binaries,
under GNU/Linux Python 3.6 and 3.6; and osx Python 3.6.
3. "deploy doc and pypi": for the stable branch, deploy the docs
to the landing page, and when using a specific commit message,
build the GNU/Linux and osx wheels, uploading them to test.pypi.
* use yaml anchors and definitions to avoid repeating code (and
working around travis limitations).
* Modify the `cmake``configuration to accomodate the stages flow:
* allow conditional creation of compilation and QA targets, mainly
for saving some time in some jobs.
* move the tests to `cmake/tests.cmake`.
* Update the tests:
* add a `requires_qe_access` decorator that retrieves QE_TOKEN and
QE_URL and appends them to the parameters in an unified manner.
* add an environment variable `SKIP_ONLINE_TESTS` that allows to
skip the tests that need network access.
* replace `TRAVIS_FORK_PULL_REQUEST` with the previous two
mechanisms, adding support for AppVeyor as well.
* fix a problem with matplotlib under osx headless, effectively
skipping `test_visualization.py` during the travis osx jobs.
* Move Sphinx to `requirements-dev.txt`.
2018-02-13 05:11:28 +08:00
|
|
|
|
|
|
|
# Run the tests against without compilation (GNU/Linux, Python 3.5)
|
|
|
|
- stage: lint and pure python test
|
2019-04-24 02:10:57 +08:00
|
|
|
name: Python 3.5 Tests Linux
|
2018-12-29 06:32:27 +08:00
|
|
|
<<: *stage_linux
|
Revise travis configuration, using cmake
* Revise the travis configuration for using `cmake` for the several
targets, and use "stages" instead of parallel jobs:
* define three stages that are executed if the previous one suceeds:
1. "linter and pure python test": executes the linter and a test
without compiling the binaries, with the idea of providing quick
feedback for PRs.
2. "test": launch the test, including the compilation of binaries,
under GNU/Linux Python 3.6 and 3.6; and osx Python 3.6.
3. "deploy doc and pypi": for the stable branch, deploy the docs
to the landing page, and when using a specific commit message,
build the GNU/Linux and osx wheels, uploading them to test.pypi.
* use yaml anchors and definitions to avoid repeating code (and
working around travis limitations).
* Modify the `cmake``configuration to accomodate the stages flow:
* allow conditional creation of compilation and QA targets, mainly
for saving some time in some jobs.
* move the tests to `cmake/tests.cmake`.
* Update the tests:
* add a `requires_qe_access` decorator that retrieves QE_TOKEN and
QE_URL and appends them to the parameters in an unified manner.
* add an environment variable `SKIP_ONLINE_TESTS` that allows to
skip the tests that need network access.
* replace `TRAVIS_FORK_PULL_REQUEST` with the previous two
mechanisms, adding support for AppVeyor as well.
* fix a problem with matplotlib under osx headless, effectively
skipping `test_visualization.py` during the travis osx jobs.
* Move Sphinx to `requirements-dev.txt`.
2018-02-13 05:11:28 +08:00
|
|
|
|
|
|
|
# "test" stage
|
|
|
|
###########################################################################
|
|
|
|
|
|
|
|
# GNU/Linux, Python 3.6
|
|
|
|
- stage: test
|
2019-04-24 02:10:57 +08:00
|
|
|
name: Python 3.6 Tests Linux
|
Revise travis configuration, using cmake
* Revise the travis configuration for using `cmake` for the several
targets, and use "stages" instead of parallel jobs:
* define three stages that are executed if the previous one suceeds:
1. "linter and pure python test": executes the linter and a test
without compiling the binaries, with the idea of providing quick
feedback for PRs.
2. "test": launch the test, including the compilation of binaries,
under GNU/Linux Python 3.6 and 3.6; and osx Python 3.6.
3. "deploy doc and pypi": for the stable branch, deploy the docs
to the landing page, and when using a specific commit message,
build the GNU/Linux and osx wheels, uploading them to test.pypi.
* use yaml anchors and definitions to avoid repeating code (and
working around travis limitations).
* Modify the `cmake``configuration to accomodate the stages flow:
* allow conditional creation of compilation and QA targets, mainly
for saving some time in some jobs.
* move the tests to `cmake/tests.cmake`.
* Update the tests:
* add a `requires_qe_access` decorator that retrieves QE_TOKEN and
QE_URL and appends them to the parameters in an unified manner.
* add an environment variable `SKIP_ONLINE_TESTS` that allows to
skip the tests that need network access.
* replace `TRAVIS_FORK_PULL_REQUEST` with the previous two
mechanisms, adding support for AppVeyor as well.
* fix a problem with matplotlib under osx headless, effectively
skipping `test_visualization.py` during the travis osx jobs.
* Move Sphinx to `requirements-dev.txt`.
2018-02-13 05:11:28 +08:00
|
|
|
<<: *stage_linux
|
|
|
|
python: 3.6
|
|
|
|
|
2018-07-06 05:09:14 +08:00
|
|
|
# GNU/Linux, Python 3.7
|
|
|
|
- stage: test
|
2019-04-24 02:10:57 +08:00
|
|
|
name: Python 3.7 Tests Linux
|
2018-07-06 05:09:14 +08:00
|
|
|
<<: *stage_linux
|
2018-07-13 19:19:35 +08:00
|
|
|
# Compiling Python 3.7 requires an Ubuntu Xenial distribution
|
|
|
|
# and sudo set to true
|
|
|
|
# Fix when this is solved:
|
|
|
|
# https://github.com/travis-ci/travis-ci/issues/9815
|
2018-07-06 05:09:14 +08:00
|
|
|
dist: xenial
|
2018-07-13 19:19:35 +08:00
|
|
|
python: 3.7
|
|
|
|
sudo: true
|
2018-07-06 05:09:14 +08:00
|
|
|
|
2019-02-12 18:43:12 +08:00
|
|
|
# OSX, Python 3.5.6 (via pyenv)
|
|
|
|
- stage: test
|
|
|
|
<<: *stage_osx
|
2019-04-24 02:10:57 +08:00
|
|
|
name: Python 3.5 Tests OSX
|
2019-02-12 18:43:12 +08:00
|
|
|
env:
|
|
|
|
- MPLBACKEND=ps
|
|
|
|
- PYTHON_VERSION=3.5.6
|
|
|
|
|
2018-07-02 00:47:09 +08:00
|
|
|
# OSX, Python 3.6.5 (via pyenv)
|
2018-07-20 20:43:41 +08:00
|
|
|
- stage: test
|
2019-04-24 02:10:57 +08:00
|
|
|
name: Python 3.6 Tests OSX
|
2018-07-20 20:43:41 +08:00
|
|
|
<<: *stage_osx
|
2019-02-12 18:43:12 +08:00
|
|
|
env:
|
|
|
|
- MPLBACKEND=ps
|
|
|
|
- PYTHON_VERSION=3.6.5
|
Revise travis configuration, using cmake
* Revise the travis configuration for using `cmake` for the several
targets, and use "stages" instead of parallel jobs:
* define three stages that are executed if the previous one suceeds:
1. "linter and pure python test": executes the linter and a test
without compiling the binaries, with the idea of providing quick
feedback for PRs.
2. "test": launch the test, including the compilation of binaries,
under GNU/Linux Python 3.6 and 3.6; and osx Python 3.6.
3. "deploy doc and pypi": for the stable branch, deploy the docs
to the landing page, and when using a specific commit message,
build the GNU/Linux and osx wheels, uploading them to test.pypi.
* use yaml anchors and definitions to avoid repeating code (and
working around travis limitations).
* Modify the `cmake``configuration to accomodate the stages flow:
* allow conditional creation of compilation and QA targets, mainly
for saving some time in some jobs.
* move the tests to `cmake/tests.cmake`.
* Update the tests:
* add a `requires_qe_access` decorator that retrieves QE_TOKEN and
QE_URL and appends them to the parameters in an unified manner.
* add an environment variable `SKIP_ONLINE_TESTS` that allows to
skip the tests that need network access.
* replace `TRAVIS_FORK_PULL_REQUEST` with the previous two
mechanisms, adding support for AppVeyor as well.
* fix a problem with matplotlib under osx headless, effectively
skipping `test_visualization.py` during the travis osx jobs.
* Move Sphinx to `requirements-dev.txt`.
2018-02-13 05:11:28 +08:00
|
|
|
|
2019-02-12 18:43:12 +08:00
|
|
|
# OSX, Python 3.7.2 (via pyenv)
|
2018-07-20 20:43:41 +08:00
|
|
|
- stage: test
|
2019-04-24 02:10:57 +08:00
|
|
|
name: Python 3.7 Tests OSX
|
2019-01-14 20:03:54 +08:00
|
|
|
<<: *stage_osx
|
2019-02-12 18:43:12 +08:00
|
|
|
env:
|
|
|
|
- MPLBACKEND=ps
|
|
|
|
- PYTHON_VERSION=3.7.2
|