os: linux dist: xenial sudo: true # The python from travis is used to lint, mypy and test the # non-transpiled src/, as well as to build the universal wheel # that will be tested using the environments set up using conda python: - "3.7" language: python cache: pip install: - sudo apt-get install -y git mercurial - wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh; - bash miniconda.sh -b -p $HOME/miniconda - export PATH="$HOME/miniconda/bin:$PATH" - hash -r - conda config --set always_yes yes --set changeps1 no - conda update -q conda # Useful for debugging any issues with conda - conda info -a # Setup envs - conda create -q --name cpy27 python=2.7 # - conda create -q --name cpy34 python=3.4 # - conda create -q --name cpy35 python=3.5 # - conda create -q --name cpy36 python=3.6 # - conda create -q --name cpy37 python=3.7 # - conda create -q --name pypy27 # - conda activate pypy27 # - conda install -c conda-forge pypy2.7 # - conda deactivate # - conda create --name pypy35 # - conda activate pypy35 # - conda install -c conda-forge pypy3.5 # - conda deactivate script: # While setup.py does spec these requirements # we'll only be installing via setup.py indirectly using the # wheel that we'll build. For the test run on the # src/ from the repository, we need to install the # dependencies separately. - python -m pip install $(cat requirements.txt) - python -m pip install $(cat requirements-test.txt) # lint - python -m flake8 src/pycalver/ - MYPYPATH=stubs/ python -m mypy src/pycalver/ # doc - rst2html5 --strict README.rst > /dev/null - rst2html5 --strict CHANGELOG.rst > /dev/null # test repo src/ - PYTHONPATH=src/:$PYTHONPATH python -m pytest --cov=pycalver test/ - codecov # build wheel - python -m pip install lib3to6 - python setup.py bdist_wheel --python-tag=py2.py3 - ls -l dist/* # test wheel - conda activate cpy27 - python --version - python -m pip install $(cat requirements-test.txt) - python -m pip install $(ls -1t dist/*.whl | head -n 1) - python -m pytest --cov=pycalver test/ - conda deactivate - python --version