mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-30 11:54:33 +03:00
ce57718b93
- attempt to do a regression build for cron OR renovate - we want to run all tests when dependencies are updated, and on nightlies
69 lines
2.0 KiB
YAML
69 lines
2.0 KiB
YAML
language: node_js
|
|
# When changing node version also update it on lines 23 and 52.
|
|
node_js:
|
|
- "10"
|
|
- "8"
|
|
- "6"
|
|
|
|
sudo: false
|
|
|
|
cache:
|
|
yarn: true
|
|
directories:
|
|
- node_modules
|
|
|
|
env:
|
|
global:
|
|
- GITHUB_OAUTH_KEY=003a44d58f12089d0c0261338298af3813330949
|
|
matrix:
|
|
- DB=sqlite3 NODE_ENV=testing
|
|
- DB=mysql NODE_ENV=testing-mysql
|
|
|
|
matrix:
|
|
include:
|
|
- node_js: "10"
|
|
env: TEST_SUITE=lint
|
|
fast_finish: true
|
|
|
|
branches:
|
|
except:
|
|
- /^renovate\/.+$/
|
|
|
|
before_install:
|
|
- if [ $DB == "mysql" ]; then mysql -e 'create database ghost_testing'; fi
|
|
- curl -sSL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo -E apt-key add -
|
|
- echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee -a /etc/apt/sources.list >/dev/null
|
|
- sudo -E apt-get -yq update &>> ~/apt-get-update.log
|
|
- sudo -E apt-get -yq --no-install-suggests --no-install-recommends $TRAVIS_APT_OPTS install yarn
|
|
|
|
install:
|
|
- yarn
|
|
- if [ "$DB" == "sqlite3" ]; then yarn add --force sqlite3; fi # fix sqlite caching issues
|
|
|
|
script: |
|
|
if [[ ( "$TRAVIS_PULL_REQUEST_BRANCH" =~ ^renovate || "$TRAVIS_EVENT_TYPE" == "cron" ) && "$TEST_SUITE" != "lint" ]]; then
|
|
yarn test:regression
|
|
else
|
|
yarn test
|
|
fi
|
|
|
|
after_success:
|
|
- |
|
|
if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
|
|
if [[ "$DB" = "sqlite3" && "$TRAVIS_NODE_VERSION" = "10" ]]; then
|
|
echo "Generate coverage..."
|
|
grunt coverage
|
|
npm install -g codeclimate-test-reporter
|
|
codeclimate-test-reporter < core/test/coverage/unit/lcov.info
|
|
else
|
|
echo "False DB and NODE_VERSION. No coverage generated."
|
|
fi
|
|
else
|
|
echo "This is a PR. No coverage generated."
|
|
fi
|
|
|
|
after_failure: |
|
|
if [ "${TRAVIS_EVENT_TYPE}" == "cron" ]; then
|
|
curl -X POST --data-urlencode "payload={\"attachments\": [{\"color\": \"danger\", \"fallback\": \"Build Failure: $TRAVIS_JOB_WEB_URL\", \"title\": \"Build Failure\", \"text\": \"$TRAVIS_JOB_WEB_URL\"}]}" $SLACK_URL
|
|
fi
|