dist: xenial # required for Python >= 3.7 os: linux language: python cache: pip git: depth: false before_install: - date install: - pip install poetry~=0.12.17 - poetry install - poetry run python --version script: - poetry run behave aliases: test_mac: &test_mac os: osx language: shell osx_image: xcode11.2 before_install: - eval "$(pyenv init -)" - pyenv install -s $JRNL_PYTHON_VERSION - pyenv global $JRNL_PYTHON_VERSION - pip install --upgrade pip - pip --version test_windows: &test_windows os: windows language: shell before_install: - choco install python --version $JRNL_PYTHON_VERSION - python -m pip install --upgrade pip - pip --version jobs: allow_failures: - python: 3.8 - python: nightly - os: windows include: - stage: Test - name: Python 3.6 on Linux python: 3.6 - name: Python 3.7 on Linux python: 3.7 - name: Python 3.7 on Linux, not UTC python: 3.7 env: - TZ=America/Edmonton - name: Python 3.8 on Linux python: 3.8 - name: Python nightly on Linux python: nightly - <<: *test_mac name: Python 3.6 on MacOS env: - JRNL_PYTHON_VERSION=3.6.8 - <<: *test_mac name: Python 3.7 on MacOS env: - JRNL_PYTHON_VERSION=3.7.4 - <<: *test_mac name: Python 3.8 on MacOS env: - JRNL_PYTHON_VERSION=3.8.0 - <<: *test_windows name: Python 3.6 on Windows env: - JRNL_PYTHON_VERSION=3.6.8 - PATH=/c/Python36:/c/Python36/Scripts:$PATH - <<: *test_windows name: Python 3.7 on Windows env: - JRNL_PYTHON_VERSION=3.7.5 - PATH=/c/Python37:/c/Python37/Scripts:$PATH - <<: *test_windows name: Python 3.8 on Windows env: - JRNL_PYTHON_VERSION=3.8.0 - PATH=/c/Python38:/c/Python38/Scripts:$PATH - stage: Deploy if: branch = master AND tag IS present before_deploy: - poetry config http-basic.pypi "$PYPI_USER" "$PYPI_PASS" - poetry version "$TRAVIS_TAG" - poetry build deploy: - provider: script script: poetry publish after_deploy: - git config --global user.email "jrnl.bot@gmail.com" - git config --global user.name "Jrnl Bot" - git checkout master - git add pyproject.toml - git commit -m "Incrementing version to ${TRAVIS_TAG}" - git push https://${GITHUB_TOKEN}@github.com/jrnl-org/jrnl.git master