瀏覽代碼

Travis CI: Ensure that the tests pass on all platforms before deployment

Jan Holthuis 4 年之前
父節點
當前提交
74ac72c628
共有 1 個文件被更改,包括 53 次插入48 次删除
  1. 53 48
      .travis.yml

+ 53 - 48
.travis.yml

@@ -5,10 +5,13 @@ language: python
 jobs:
   include:
     - name: "Ubuntu / Python 3.6"
+      stage: Testing
       python: 3.6
     - name: "Ubuntu / Python 3.7"
+      stage: Testing
       python: 3.7
     - name: "Windows / Python 3.6"
+      stage: Testing
       os: windows
       language: shell
       before_install:
@@ -17,6 +20,7 @@ jobs:
       - PATH=/c/Python36:/c/Python36/Scripts:$PATH
       - SKIP=check-executables-have-shebangs
     - name: "Windows / Python 3.7"
+      stage: Testing
       os: windows
       language: shell
       before_install:
@@ -24,6 +28,53 @@ jobs:
       env:
       - PATH=/c/Python37:/c/Python37/Scripts:$PATH
       - SKIP=check-executables-have-shebangs
+    - name: "Ubuntu / Python 3.7"
+      stage: Deployment
+      if: branch = master OR tag IS present
+      python: 3.7
+      before_deploy:
+      - touch html/.nojekyll
+      - cp assets/gh-pages-redirect.html html/index.html
+      deploy:
+        # Deploy to PyPI
+      - provider: pypi
+        username: "__token__"
+        password:
+          secure: "0bFhY80KT5zp5wpsQwmBdHNvrC1aXnCUnL268UBb5bcVrTQ/cVr08CPVEZLefRU96CCqCZHCQPh1iP9DCtPEszB3XI0pVydoNJ9Fei9ccHI6bJBtfpLnTwlyygiBiTT3uNlal+/+videWqhDXAs2EHZAQn4L41Na6h1pHBoTu+V8KIJinNJccgiUXeeHdDc4lWCVKU0GfeKtzvgmFZq9B1w7jo+VnOQFKYH3rS80u1xkTrWNiVb3vdt+36PHssNXv5XI9kULsE+ofSdKIwYd7zGxs3ouw+LYhEM6QpDp1ERITAPWhdrY6DTTVdatnClTlzvxRMiqbeKmx/cYIx1x2aXqGxQo0UIcjK2N647ZG6lQAmJnRBc71CJvzGOFQQ+PNnlRlUcOmhnqr8K4bHDhe6Cf1PAFW6SCZvZ8ruXRV726FhRqMzmE/fJwtOY97F0BHJWwBAjbTdDM0J9Hph68YjkMcB96/bRTvGqkwVZTVqPtGppa3uRX2+ljt9pFY3j/jsk77mTYoY5VJrDB8lQSK7dzn8U/vg6q7lbRA5QfYXVIc77/7w29BFgVKv418LlfEh9zlq2/mB0+EX9BGEtEFNMEDzmXvJpEMQ2isDhfACKLO6B8opkfNEgUKhEpUBOTKf0VNSTVdQy1VL+jnXk7SzHo6ncb7PCMMK/yWmlCsvc="
+        distributions: "sdist bdist_wheel"
+        skip_existing: true
+        on:
+          branch: master
+          repo: Holzhaus/sphinx-multiversion
+          tags: true
+        # Deploy to Github Releases
+      - provider: releases
+        token:
+          secure: "tAwp3NTqbvig1wU0hwkN7aWOAQYnpS12zsAlBc/ud05cYrjrBIjjFltX/1C0tgxxxJ11zdAhTjgUfYFrWbRXJ5hHptyD8fTa8RXfJZ2KuTx44aEHSyNHtl8YbwlXXr9hGjhrUHUulNghpFCAwNgg6oONbocQ3teW6maO7ByLUmO/RbNnligK1iQW6GPHovOg1iTbsZLVhriP2e2/JFRxq5rdnxArNLzwLhg8L4QAuc6YX3gnI1Z2xuBtpgQhNfL5S+hMuKOwONpdMQDYgXD7QbPA0pqSYQRf81vd+/FtZqNnHHku0POsoLLMkscalXxa1AbznvH9vg9nwO0J20XNZ1Mg6BFLpDwPzqLhCAwmeFcz+k78m+3x9bIhS27ps0XCgg0VxjM4Rvaabfm7J9h1aIteZf4oGS+1Er8fK6ejOeGI+tZu/5YXDhpS6hyK6gXey7Ep3SGF5oqrcu80gBrCGkWXrADMogarL6RbcZV2vrYkm5kBorcUA4s3nU2fV5UUnCg83fdlY70kmrNt3Im83ndSH3jOyTDXITjHCDN6+GFjd1eP0h8tcwiGPtVs2JGolSmqq/AzjDqY2CfgwccBDg6MF4gbcgJQdzZ11j/5cH9SNoHN6/V4869vO28XbwTKqbgsKpuajmbKVEqIlGTi2zylgzNbxtySTL0tnZvyO4w="
+        name: "$TRAVIS_TAG"
+        release_notes: "Release $TRAVIS_TAG"
+        draft: false
+        skip_cleanup: true
+        file_glob: true
+        file: dist/*
+        overwrite: true
+        on:
+          branch: master
+          repo: Holzhaus/sphinx-multiversion
+          tags: true
+        # Deploy documentation
+      - provider: pages
+        skip_cleanup: true
+        keep_history: false
+        token: $GITHUB_TOKEN
+        local_dir: html
+        on:
+          branch: master
+          repo: Holzhaus/sphinx-multiversion
+
+stages:
+  - Testing
+  - Deployment
 
 cache:
   pip: true
@@ -35,57 +86,11 @@ install:
 
 before_script:
 - pre-commit run --all-files --show-diff-on-failure
+- python -m unittest --verbose
+
 script:
 - mkdir html
 - git fetch --all
 - sphinx-multiversion -W docs html
 - python setup.py build sdist bdist_wheel
 
-# Deployment
-before_deploy:
-- touch html/.nojekyll
-- cp assets/gh-pages-redirect.html html/index.html
-deploy:
-  # Deploy documentation
-- provider: pages
-  skip_cleanup: true
-  keep_history: false
-  token: $GITHUB_TOKEN
-  local_dir: html
-  on:
-    branch: master
-    repo: Holzhaus/sphinx-multiversion
-    python: 3.7
-    os: linux
-
-  # Deploy to PyPI
-- deploy:
-  provider: pypi
-  username: "__token__"
-  password:
-    secure: "0bFhY80KT5zp5wpsQwmBdHNvrC1aXnCUnL268UBb5bcVrTQ/cVr08CPVEZLefRU96CCqCZHCQPh1iP9DCtPEszB3XI0pVydoNJ9Fei9ccHI6bJBtfpLnTwlyygiBiTT3uNlal+/+videWqhDXAs2EHZAQn4L41Na6h1pHBoTu+V8KIJinNJccgiUXeeHdDc4lWCVKU0GfeKtzvgmFZq9B1w7jo+VnOQFKYH3rS80u1xkTrWNiVb3vdt+36PHssNXv5XI9kULsE+ofSdKIwYd7zGxs3ouw+LYhEM6QpDp1ERITAPWhdrY6DTTVdatnClTlzvxRMiqbeKmx/cYIx1x2aXqGxQo0UIcjK2N647ZG6lQAmJnRBc71CJvzGOFQQ+PNnlRlUcOmhnqr8K4bHDhe6Cf1PAFW6SCZvZ8ruXRV726FhRqMzmE/fJwtOY97F0BHJWwBAjbTdDM0J9Hph68YjkMcB96/bRTvGqkwVZTVqPtGppa3uRX2+ljt9pFY3j/jsk77mTYoY5VJrDB8lQSK7dzn8U/vg6q7lbRA5QfYXVIc77/7w29BFgVKv418LlfEh9zlq2/mB0+EX9BGEtEFNMEDzmXvJpEMQ2isDhfACKLO6B8opkfNEgUKhEpUBOTKf0VNSTVdQy1VL+jnXk7SzHo6ncb7PCMMK/yWmlCsvc="
-  distributions: "sdist bdist_wheel"
-  skip_existing: true
-  on:
-    branch: master
-    repo: Holzhaus/sphinx-multiversion
-    tags: true
-    os: linux
-
-  # Deploy to Github Releases
-- provider: releases
-  token:
-    secure: "tAwp3NTqbvig1wU0hwkN7aWOAQYnpS12zsAlBc/ud05cYrjrBIjjFltX/1C0tgxxxJ11zdAhTjgUfYFrWbRXJ5hHptyD8fTa8RXfJZ2KuTx44aEHSyNHtl8YbwlXXr9hGjhrUHUulNghpFCAwNgg6oONbocQ3teW6maO7ByLUmO/RbNnligK1iQW6GPHovOg1iTbsZLVhriP2e2/JFRxq5rdnxArNLzwLhg8L4QAuc6YX3gnI1Z2xuBtpgQhNfL5S+hMuKOwONpdMQDYgXD7QbPA0pqSYQRf81vd+/FtZqNnHHku0POsoLLMkscalXxa1AbznvH9vg9nwO0J20XNZ1Mg6BFLpDwPzqLhCAwmeFcz+k78m+3x9bIhS27ps0XCgg0VxjM4Rvaabfm7J9h1aIteZf4oGS+1Er8fK6ejOeGI+tZu/5YXDhpS6hyK6gXey7Ep3SGF5oqrcu80gBrCGkWXrADMogarL6RbcZV2vrYkm5kBorcUA4s3nU2fV5UUnCg83fdlY70kmrNt3Im83ndSH3jOyTDXITjHCDN6+GFjd1eP0h8tcwiGPtVs2JGolSmqq/AzjDqY2CfgwccBDg6MF4gbcgJQdzZ11j/5cH9SNoHN6/V4869vO28XbwTKqbgsKpuajmbKVEqIlGTi2zylgzNbxtySTL0tnZvyO4w="
-  name: "$TRAVIS_TAG"
-  release_notes: "Release $TRAVIS_TAG"
-  draft: false
-  skip_cleanup: true
-  file_glob: true
-  file: dist/*
-  overwrite: true
-  on:
-    branch: master
-    repo: Holzhaus/sphinx-multiversion
-    tags: true
-    python: 3.7
-    os: linux