- google-chrome-stable
deploy:
+# Creates a tag containing dist files and bower.json
+# Requires GITHUB_AUTH_TOKEN and GITHUB_AUTH_EMAIL environment variables
+# IMPORTANT: the script has to be set executable in the Git repository (error 127)
+# https://github.com/travis-ci/travis-ci/issues/5538#issuecomment-225025939
+- provider: script
+ script: ./scripts/release.sh
+ skip_cleanup: true
+ on:
+ branch: release
- provider: releases
api_key:
secure: E6JiZzA/Qy+UD1so/rVfqYnMhgU4m0cUsljxyrKIiYKlt/ZXo1XJabNkpEIYLvckrNx+g/4cmidNcuLfrnAZJtUg53qHLxyqMTXa9zAqmxxJ6aIpQpNK25FIEk9Xwm2XZdbI5rrm0ZciP5rcgg0X8/j5+RtnU3ZpTOCVkp0P73A=
--- /dev/null
+#!/bin/bash
+
+set -e
+
+if [ "$TRAVIS_BRANCH" != "release" ]; then
+ echo "Skipping release because this is not the 'release' branch"
+ exit 0
+fi
+
+# Travis executes this script from the repository root, so at the same level than package.json
+VERSION=$(node -p -e "require('./package.json').version")
+
+# Make sure that the associated tag doesn't already exist
+GITTAG=$(git ls-remote origin refs/tags/v$VERSION)
+if [ "$GITTAG" != "" ]; then
+ echo "Tag for package.json version already exists, aborting release"
+ exit 1
+fi
+
+git remote add auth-origin https://$GITHUB_AUTH_TOKEN@github.com/$TRAVIS_REPO_SLUG.git
+git config --global user.email "$GITHUB_AUTH_EMAIL"
+git config --global user.name "Chart.js"
+git checkout --detach --quiet
+git add -f dist/*.js bower.json
+git commit -m "Release $VERSION"
+git tag -a "v$VERSION" -m "Version $VERSION"
+git push -q auth-origin refs/tags/v$VERSION 2>/dev/null
+git remote rm auth-origin
+git checkout -f @{-1}