vue/.circleci/config.yml

132 lines
2.9 KiB
YAML

version: 2
defaults: &defaults
working_directory: ~/project/vue
docker:
- image: vuejs/ci
jobs:
install:
<<: *defaults
steps:
- checkout
- restore_cache:
keys:
- v1-vue-{{ .Branch }}-{{ checksum "yarn.lock" }}
- v1-vue-{{ .Branch }}-
- v1-vue-
- run: npm install
- save_cache:
key: v1-vue-{{ .Branch }}-{{ checksum "yarn.lock" }}
paths:
- node_modules/
- persist_to_workspace:
root: ~/project
paths:
- vue
lint-flow-types:
<<: *defaults
steps:
- attach_workspace:
at: ~/project
- run: npm run lint
- run: npm run flow
- run: npm run test:types
test-cover:
<<: *defaults
steps:
- attach_workspace:
at: ~/project
- run: npm run test:cover
- run:
name: report coverage stats for non-PRs
command: |
if [[ -z $CI_PULL_REQUEST ]]; then
./node_modules/.bin/codecov
fi
test-e2e:
<<: *defaults
steps:
- attach_workspace:
at: ~/project
- run: npm run test:e2e -- --env phantomjs
test-ssr-weex:
<<: *defaults
steps:
- attach_workspace:
at: ~/project
- run: npm run test:ssr
- run: npm run test:weex
trigger-regression-test:
<<: *defaults
steps:
- run:
command: |
curl --user ${CIRCLE_TOKEN}: \
--data build_parameters[CIRCLE_JOB]=update \
--data build_parameters[VUE_REVISION]=${CIRCLE_SHA1} \
https://circleci.com/api/v1.1/project/github/vuejs/regression-testing/tree/master
workflows:
version: 2
install-and-parallel-test:
jobs:
- install
- test-cover:
requires:
- install
- lint-flow-types:
requires:
- install
- test-e2e:
requires:
- install
- test-ssr-weex:
requires:
- install
- trigger-regression-test:
filters:
branches:
only:
- "2.6"
- regression-test
requires:
- test-cover
- lint-flow-types
- test-e2e
- test-ssr-weex
weekly_regression_test:
triggers:
- schedule:
# At 13:00 UTC (9:00 EDT) on every Monday
cron: "0 13 * * 1"
filters:
branches:
only:
dev
jobs:
- install
- test-cover:
requires:
- install
- lint-flow-types:
requires:
- install
- test-e2e:
requires:
- install
- test-ssr-weex:
requires:
- install
- trigger-regression-test:
requires:
- test-cover
- lint-flow-types
- test-e2e
- test-ssr-weex