91 lines
3.3 KiB
YAML
91 lines
3.3 KiB
YAML
sudo: false
|
|
|
|
# Only care about running tests against latest node
|
|
language: node_js
|
|
node_js:
|
|
- node
|
|
|
|
# Keep node_modules around, it speeds up builds & they don't change often
|
|
cache:
|
|
directories:
|
|
- node_modules
|
|
|
|
# Custom install step so the travis-only stuff doesn't need to be in package.json
|
|
install:
|
|
- npm install
|
|
- npm install @alrra/travis-scripts@^3.0.1 gh-pages@^0.12.0
|
|
|
|
# Bundle before running tests so the bundle is always up-to-date
|
|
before_script: npm run build
|
|
|
|
# This is the default, but leaving so it is obvious
|
|
# script: npm test
|
|
|
|
# After a successful build commit changes back to repo
|
|
after_success:
|
|
- |
|
|
# Set up SSH environment
|
|
$(npm bin)/set-up-ssh \
|
|
--key "$encrypted_8b86e0359d64_key" \
|
|
--iv "$encrypted_8b86e0359d64_iv" \
|
|
--path-encrypted-key "./.deploy.enc"
|
|
|
|
# Commit bundle changes generated in before_script step
|
|
# --commands is a weird no-op but required for commit-changes to run
|
|
# --branch arg is to ensure this only runs against the `next` branch
|
|
$(npm bin)/commit-changes \
|
|
--commands "echo committing" \
|
|
--commit-message "Bundled output for commit $TRAVIS_COMMIT [skip ci]" \
|
|
--branch "next"
|
|
|
|
# Only want to commit docs when building pushes on master &
|
|
# this doesn't have the built-in branch protection like commit-changes
|
|
if [ "$TRAVIS_EVENT_TYPE" == "push" ] && \
|
|
[ "$TRAVIS_BRANCH" == "master" ] && \
|
|
[ "$TRAVIS_REPO_SLUG" == "lhorie/mithril.js" ]
|
|
then
|
|
# Generate docs
|
|
npm run gendocs
|
|
|
|
# Set up git env
|
|
git config --global user.email "$GH_USER_EMAIL"
|
|
git config --global user.name "$GH_USER_NAME"
|
|
|
|
# Commit docs to gh-pages branch
|
|
# Using --add to ensure that archived versions aren't lost
|
|
# Using --repo to force it to go over SSH so the saved keys are used (tschaub/gh-pages#160)
|
|
$(npm bin)/gh-pages --dist ./dist --add --repo "git@github.com:lhorie/mithril.js.git"
|
|
else
|
|
echo "Not submitting documentation updates"
|
|
fi
|
|
|
|
# Environment configuration
|
|
env:
|
|
global:
|
|
# Set up GH_USER_EMAIL & GH_USER_NAME env variables used by travis-scripts package
|
|
- secure: Xvqvm3+PvJu/rs3jl/NNn0RWLkkLkIoPHiL0GCfVRaywgjCYVN02g54NVvIDaOfybqPmu9E6PJFVs92vhF34NMFQHf4EWskynusIGV271R2BV0i+OJBfLMuLgiwm6zRn7/Zw4JvWIUGEwcnlz0qxbqdHsS0SOR3fIkFzePickW0=
|
|
- secure: Rf/ldEO9d4vItJhe6EmqWpFAyCARzoCb422nHnjr1hYJknnwIXpgyZ1C/7On/9o7rWPPf+8WcHC/rgjK2rthKCldzdG5I60LfWSNzap9lk3Aa4TpSCoDBuEp7JVvDr5tc3rKnBXVT71hOay7RSx1StWzXiJs9mjaeVMJzYzRT78=
|
|
|
|
# Deploy to npm and github pages on tagged commits that successfully build
|
|
deploy:
|
|
- provider: releases
|
|
api_key:
|
|
secure: PauFuz+pn7oRpHn2JTl4k3+iWjOofyBYBvavPQVNdXgKws9mGj0i2n5k2oIDU09VD7NeyEkwP6tdLCUFNaR8uwTJH/TBXMZE95oxUEaliFreA0nOiI3WkG4NCW0GwUoIIn1yL14y6+9oEBinWUia8DIn9kZNS11DNDgQpIPnoQQ=
|
|
file:
|
|
- "mithril.js"
|
|
- "mithril.min.js"
|
|
skip_cleanup: true
|
|
on:
|
|
tags: true
|
|
repo: lhorie/mithril.js
|
|
branch: master
|
|
|
|
- provider: npm
|
|
skip_cleanup: true
|
|
email: npm@patcavit.com
|
|
api_key:
|
|
secure: ADElvD1oxn9GfEG7dDOggX96b36A/cGEybovAc0221CCKzv5kWCavMrtxneiJYI6N/n24abSlbM90vMfU84FEzH0Ev28dGVokRP4ad6VRkISszKlYVEP8Lds4QxfKh78jZlUxmxM0B3vmQ1kYJbTBqp3ICtaJ5ptEQHWhrLtxnc=
|
|
on:
|
|
tags: true
|
|
repo: lhorie/mithril.js
|
|
branch: master
|