2016-04-18 17:22:23 -04:00
|
|
|
language: node_js
|
|
|
|
node_js:
|
2016-10-04 15:21:55 -04:00
|
|
|
- '4'
|
|
|
|
- stable
|
2016-04-18 17:22:23 -04:00
|
|
|
sudo: false
|
|
|
|
cache:
|
|
|
|
directories:
|
|
|
|
- node_modules
|
2016-10-17 09:38:41 -04:00
|
|
|
install:
|
|
|
|
- npm install
|
|
|
|
- npm update
|
2016-09-24 18:14:52 -04:00
|
|
|
after_script:
|
|
|
|
- |
|
|
|
|
# RELEASE_BRANCHES and NPM_TOKEN defined in Travis settings panel
|
|
|
|
declare exitCode
|
|
|
|
$(npm bin)/travis-after-all
|
|
|
|
exitCode=$?
|
|
|
|
if [[
|
2016-09-25 13:59:24 -04:00
|
|
|
# Execute after all jobs finish successfully
|
2016-09-24 18:14:52 -04:00
|
|
|
$exitCode = 0 &&
|
2016-09-25 13:59:24 -04:00
|
|
|
# Only release on release branches
|
2016-09-24 18:14:52 -04:00
|
|
|
$RELEASE_BRANCHES =~ $TRAVIS_BRANCH &&
|
2016-09-25 13:59:24 -04:00
|
|
|
# Don't release on PR builds
|
2016-09-24 18:14:52 -04:00
|
|
|
$TRAVIS_PULL_REQUEST = "false"
|
|
|
|
]]; then
|
2016-09-25 13:59:24 -04:00
|
|
|
# Authenticate NPM
|
2016-09-25 13:59:16 -04:00
|
|
|
echo "//registry.npmjs.org/:_authToken=\${NPM_TOKEN}" > .npmrc
|
2016-09-27 09:20:55 -04:00
|
|
|
# Set version to timestamp
|
|
|
|
npm --no-git-tag-version version $($(npm bin)/json -f package.json version)-prerelease.$(date +%s)
|
2016-09-25 13:59:16 -04:00
|
|
|
npm publish
|
2016-09-25 13:59:24 -04:00
|
|
|
# Publish to gh-pages as most recent committer
|
2016-10-18 10:16:34 -04:00
|
|
|
git config --global user.email $(git log --pretty=format:"%ae" -n1)
|
|
|
|
git config --global user.name $(git log --pretty=format:"%an" -n1)
|
|
|
|
./node_modules/.bin/gh-pages -x -r https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git -d playground -m "Build for $(git log --pretty=format:%H -n1)"
|
2016-09-24 18:14:52 -04:00
|
|
|
fi
|