Refactored .travis.yml for simpler release build

This commit is contained in:
squidfunk 2017-04-05 12:48:09 +02:00 committed by Martin Donath
parent 315fa4b590
commit 3f1d258cb6
4 changed files with 62 additions and 65 deletions

View File

@ -25,11 +25,10 @@ sudo: false
# Regular builds
# -----------------------------------------------------------------------------
# Node.js versions
node_js:
- 5
- 6
- 7
# Node.js version and necessary services
node_js: 5
services:
- docker
# Limit clone depth to 5, to speed up build
git:
@ -51,64 +50,6 @@ install:
- yarn install --ignore-optional
- pip install --user -r requirements.txt
# Perform build and tests
# Perform build, tests and release
script:
- yarn run build
# -----------------------------------------------------------------------------
# Additional builds
# -----------------------------------------------------------------------------
# Matrix for additional builds
matrix:
include:
# Build release and docker image and send to PyPI and Docker Hub.
- node_js: 5
services:
- docker
env:
- __TASK=RELEASE
# If we're not on a release branch, exit early and indicate success
before_install:
- echo "$TRAVIS_BRANCH" | grep -qvE "^[0-9.]+$" && exit 0; :;
# Install wheel for build
install:
- pip install wheel
# Perform build
script:
- python setup.py build sdist bdist_wheel --universal
- docker build -t $TRAVIS_REPO_SLUG .
# If build was successful, publish
after_success:
# Install twine and push release to PyPI
- pip install twine
- twine upload -u $PYPI_USERNAME -p $PYPI_PASSWORD dist/*
# Push to Docker Hub
- docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
- docker tag $TRAVIS_REPO_SLUG $TRAVIS_REPO_SLUG:$TRAVIS_BRANCH
- docker tag $TRAVIS_REPO_SLUG $TRAVIS_REPO_SLUG:latest
- docker push $TRAVIS_REPO_SLUG
# # Build visual tests separately - temporary disabled until tests stable
# - node_js: 5
# addons:
# artifacts:
# paths:
# - gemini-report
# apt:
# sources:
# - ubuntu-toolchain-r-test
# packages:
# - gcc-4.8
# - g++-4.8
# env:
# - CXX=g++-4.8
# install: yarn install
# script: yarn run test:visual:run
- yarn run travis

View File

@ -1,3 +1,7 @@
mkdocs-material-1.x.x (2017-xx-xx)
* Fixed deprecated calls for template variables
mkdocs-material-1.5.2 (2017-04-05)
* Added requirements as explicit dependencies in setup.py

View File

@ -89,3 +89,8 @@ pages:
- Release notes: release-notes.md
- Contributing: contributing.md
- License: license.md
# Google Analytics
google_analytics:
- !!python/object/apply:os.getenv ["GOOGLE_ANALYTICS_KEY"]
- auto

47
scripts/travis Executable file
View File

@ -0,0 +1,47 @@
#!/bin/bash
# Copyright (c) 2016-2017 Martin Donath <martin.donath@squidfunk.com>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
# Run build and terminate on error
yarn run build
[ $? -gt 0 ] && exit 1
# Deploy documentation to GitHub pages
mkdocs gh-deploy
# Terminate if we're not on a release branch
echo "$TRAVIS_BRANCH" | grep -qvE "^[0-9.]+$" && exit 0; :;
# Install dependencies for release build
pip install wheel twine
# Build release and docker image
python setup.py build sdist bdist_wheel --universal
docker build -t $TRAVIS_REPO_SLUG .
# Push release to PyPI
twine upload -u $PYPI_USERNAME -p $PYPI_PASSWORD dist/*
# Push image to Docker Hub
docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
docker tag $TRAVIS_REPO_SLUG $TRAVIS_REPO_SLUG:$TRAVIS_BRANCH
docker tag $TRAVIS_REPO_SLUG $TRAVIS_REPO_SLUG:latest
docker push $TRAVIS_REPO_SLUG