language: python env: global: - PIP_CACHE_DIR="$HOME/.cache/pip" # unify pip cache location for all platforms # use cache for big builds like pandas (to minimise build time). # If issues, clear cache # https://docs.travis-ci.com/user/caching/#Clearing-Caches cache: pip: true directories: - $HOME/.cache/pip before_cache: - rm -f $HOME/.cache/pip/log/debug.log notifications: email: false # branches: # remove travis double-check on pull requests in main repo # only: # - master # - /^\d\.\d+$/ stages: - check - test - name: deploy if: repo = tqdm/tqdm jobs: include: - name: py2.6 python: 2.6 env: TOXENV=py26 dist: trusty - name: py2.7 python: 2.7 env: TOXENV=py27 - name: py3.4 python: 3.4 env: TOXENV=py34 - name: py3.5 python: 3.5 env: TOXENV=py35 - name: py3.6 python: 3.6 env: TOXENV=py36 - name: py3.7 python: 3.7 env: TOXENV=py37 - name: pypy2.7 python: pypy2.7-5.10.0 env: TOXENV=pypy - name: pypy3.5 python: pypy3.5-5.10.0 env: TOXENV=pypy3 - name: style stage: check python: 3.6 env: TOXENV=flake8 - name: setup stage: check python: 3.6 env: TOXENV=setup.py - name: perf python: 3.6 env: TOXENV=perf - name: PyPI and GitHub stage: deploy python: 3.7 dist: xenial install: script: - pip install .[dev] - make build #- make submodules #- cd wiki && make && cd .. - openssl aes-256-cbc -K $encrypted_a6d6301302b7_key -iv $encrypted_a6d6301302b7_iv -in .meta/.tqdm.gpg.enc -out .tqdm.gpg -d - gpg --import .tqdm.gpg - rm .tqdm.gpg - git log --pretty='format:- %s%n%b---' $(git tag --sort=creatordate | tail -n2 | head -n1)..HEAD > CHANGES.md deploy: - provider: script script: twine upload -s -i tqdm@caspersci.uk.to dist/tqdm-* skip_cleanup: true on: tags: true - provider: releases api_key: $GITHUB_TOKEN file_glob: true file: dist/tqdm-*.whl* skip_cleanup: true draft: true name: tqdm $TRAVIS_TAG stable edge: true release_notes_file: CHANGES.md on: tags: true - name: docker stage: deploy python: 3.7 dist: xenial services: - docker install: script: - echo "$DOCKER_PWD" | docker login -u $DOCKER_USR --password-stdin - echo "$GITHUB_TOKEN" | docker login docker.pkg.github.com -u $GITHUB_USR --password-stdin - make -B docker - | if [[ -n "$TRAVIS_TAG" ]]; then docker tag tqdm/tqdm:latest tqdm/tqdm:${TRAVIS_TAG#v} docker tag tqdm/tqdm:latest docker.pkg.github.com/tqdm/tqdm/tqdm:${TRAVIS_TAG#v} ; fi - docker tag tqdm/tqdm:latest tqdm/tqdm:devel - docker tag tqdm/tqdm:latest docker.pkg.github.com/tqdm/tqdm/tqdm:latest - docker tag tqdm/tqdm:latest docker.pkg.github.com/tqdm/tqdm/tqdm:devel deploy: - provider: script script: docker push tqdm/tqdm:${TRAVIS_TAG#v} on: tags: true - provider: script script: 'docker push docker.pkg.github.com/tqdm/tqdm/tqdm:${TRAVIS_TAG#v} || :' on: tags: true - provider: script script: docker push tqdm/tqdm:latest - provider: script script: 'docker push docker.pkg.github.com/tqdm/tqdm/tqdm:latest || :' - provider: script script: docker push tqdm/tqdm:devel on: branch: devel - provider: script script: 'docker push docker.pkg.github.com/tqdm/tqdm/tqdm:devel || :' on: branch: devel before_install: # fix a crash with multiprocessing on Travis # - sudo rm -rf /dev/shm # - sudo ln -s /run/shm /dev/shm - git fetch --tags install: - pip install tox - pip install . script: - tox