Merge pull request #761 from wren/travis-double-deploy-757

Fix CI config to only deploy once
This commit is contained in:
micahellison 2019-11-30 12:41:42 -08:00 committed by GitHub
commit 864df05cc1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,67 +1,128 @@
dist: xenial # required for Python >= 3.7 dist: xenial # required for Python >= 3.7
os: linux
language: python language: python
jobs:
include: cache:
- name: "Python 3.6 on Linux" - pip
python: 3.6
- name: "Python 3.7 on Linux" git:
python: 3.7 depth: false
- name: "Python 3.7 on Linux, not UTC"
python: 3.7 before_install:
env: - date
- TZ=America/Edmonton
- name: "Python 3.8 on Linux" install:
python: 3.8 - pip install poetry~=0.12.17
- name: "Python dev on Linux" - poetry install
python: nightly - poetry run python --version
- name: "Python 3.7.4 on MacOS"
script:
- poetry run behave
aliases:
test_mac: &test_mac
os: osx os: osx
osx_image: xcode11.2 # Python 3.7.4 running on macOS 10.14.4 language: shell
language: shell # 'language: python' is an error on Travis CI macOS osx_image: xcode11.2
cache:
directories:
- $HOME/.pyenv/versions
before_install: before_install:
- pip3 install poetry~=0.12.17 # 'pip' points to Python 2 on MacOS - eval "$(pyenv init -)"
- name: "Python 3.7.5 on Windows" - pyenv install -s $JRNL_PYTHON_VERSION
- pyenv global $JRNL_PYTHON_VERSION
- pip install --upgrade pip
- pip --version
test_windows: &test_windows
os: windows os: windows
language: shell # 'language: python' is an error on Travis CI Windows language: shell
cache:
directories:
- /c/Python36
- /c/Python37
- /c/Python38
before_install: before_install:
- choco install python --version 3.7.5 - choco install python --version $JRNL_PYTHON_VERSION
- python -m pip install --upgrade pip - python -m pip install --upgrade pip
- pip --version - pip --version
- pip install poetry~=0.12.17
env: jobs:
- PATH=/c/Python37:/c/Python37/Scripts:$PATH fast_finish: true
allow_failures: allow_failures:
- python: 3.8 - python: 3.8
- python: nightly - python: nightly
- os: windows - os: windows
git:
depth: false include:
cache: pip # Python 3.6 Tests
before_install: - name: Python 3.6 on Linux
- date python: 3.6
- pip install poetry~=0.12.17 - <<: *test_mac
install: name: Python 3.6 on MacOS
# we run `poetry version` here to appease poetry about '0.0.0-source' python: 3.6
- poetry version env:
- poetry install - JRNL_PYTHON_VERSION=3.6.8
- poetry run python --version - <<: *test_windows
script: name: Python 3.6 on Windows
- poetry run behave python: 3.6
before_deploy: env:
- poetry config http-basic.pypi $PYPI_USER $PYPI_PASS - JRNL_PYTHON_VERSION=3.6.8
- poetry version $TRAVIS_TAG - PATH=/c/Python36:/c/Python36/Scripts:$PATH
# Python 3.7 Tests
- name: Python 3.7 on Linux
python: 3.7
- <<: *test_mac
name: Python 3.7 on MacOS
python: 3.7
env:
- JRNL_PYTHON_VERSION=3.7.5
- <<: *test_windows
name: Python 3.7 on Windows
python: 3.7
env:
- JRNL_PYTHON_VERSION=3.7.5
- PATH=/c/Python37:/c/Python37/Scripts:$PATH
# Python 3.8 Tests
- name: Python 3.8 on Linux
python: 3.8
- <<: *test_mac
name: Python 3.8 on MacOS
python: 3.8
env:
- JRNL_PYTHON_VERSION=3.8.0
- <<: *test_windows
name: Python 3.8 on Windows
python: 3.8
env:
- JRNL_PYTHON_VERSION=3.8.0
- PATH=/c/Python38:/c/Python38/Scripts:$PATH
# ... and beyond!
- name: Python nightly on Linux
python: nightly
# Specialty tests
- name: Python 3.7 on Linux, not UTC
python: 3.7
env:
- TZ=America/Edmonton
- 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 - poetry build
deploy: deploy:
- provider: script - provider: script
script: poetry publish script: poetry publish
skip_cleanup: true after_deploy:
on:
branch: master
tags: true
after_deploy:
- git config --global user.email "jrnl.bot@gmail.com" - git config --global user.email "jrnl.bot@gmail.com"
- git config --global user.name "Jrnl Bot" - git config --global user.name "Jrnl Bot"
- git checkout master - git checkout master
- git add pyproject.toml - git add pyproject.toml
- git commit -m "Incrementing version to ${TRAVIS_TAG}" - git commit -m "Incrementing version to ${TRAVIS_TAG}"
- git push https://${GITHUB_TOKEN}@github.com/jrnl-org/jrnl.git master - git push https://${GITHUB_TOKEN}@github.com/jrnl-org/jrnl.git master