forked from emberjs/data
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
125 lines (108 loc) · 3.89 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
---
language: node_js
sudo: false
dist: trusty
node_js:
- '10'
addons:
chrome: stable
firefox: latest
cache:
yarn: true
branches:
only:
- master
- beta
- release
# release and LTS branches
- /^(release|lts)-.*/
# npm version tags
- /^v\d+\.\d+\.\d+/
stages:
- test
- additional tests
- ember version tests
- name: external partner tests
if: NOT tag IS present AND NOT (branch ~= /^(emberjs:release|emberjs:lts|release|lts).*/)
jobs:
fail_fast: true
allow_failures:
- name: 'Ember Data Factory Guy'
include:
# runs tests with current locked deps and linting
- stage: test
name: 'Linting'
if: NOT tag IS present AND NOT (branch ~= /^(emberjs:release|emberjs:lts|release|lts).*/)
script:
- yarn lint:features
- yarn lint:prettier
- name: 'Basic Tests'
script: yarn test
- stage: additional tests
name: 'Enabled In-Progress Features'
if: NOT tag IS present AND NOT (branch ~= /^(emberjs:release|emberjs:lts|release|lts).*/)
install: yarn install
script: yarn test:enabled-in-progress-features
- name: 'Floating Dependencies'
install: yarn install --no-lockfile --non-interactive
script: yarn test
- name: 'Production'
install: yarn install
script: yarn test:production
- name: 'Max Transpilation'
install: yarn install
env: TARGET_IE11=true
script: yarn test
- name: 'Node Tests'
install: yarn install
script: yarn test:node
# runs tests against each supported Ember version
- stage: ember version tests
name: 'Ember LTS 3.4'
env: EMBER_TRY_SCENARIO=ember-lts-3.4
- name: 'Ember LTS 3.8'
env: EMBER_TRY_SCENARIO=ember-lts-3.8
- name: 'Ember Release'
if: NOT tag IS present AND NOT (branch ~= /^(emberjs:release|emberjs:lts|release|lts).*/)
env: EMBER_TRY_SCENARIO=ember-release
- name: 'Ember Release with jQuery'
if: NOT (branch ~= /^(release|lts).*/)
env: EMBER_TRY_SCENARIO=ember-release-with-jquery
- name: 'Ember Beta'
if: NOT tag IS present AND NOT (branch ~= /^(emberjs:release|emberjs:lts|release|lts).*/)
env: EMBER_TRY_SCENARIO=ember-beta
- name: 'Ember Canary'
if: NOT tag IS present AND NOT (branch ~= /^(emberjs:release|emberjs:lts|release|lts).*/)
env: EMBER_TRY_SCENARIO=ember-canary
# runs tests against various open-source projects for early-warning regression analysis
# We typically have 4 concurrent jobs, these jobs below are ordered to optimize total completion time
# By running longer jobs first, we allow the shorter jobs to complete within the same time block in parallel
- stage: external partner tests
name: 'Ilios Frontend' # ~30min job
script: yarn test-external:ilios-frontend
- name: 'Travis Web' # ~10min job
script: yarn test-external:travis-web
- name: 'Ember Data Storefront' # ~5min job
script: yarn test-external:storefront
- name: 'Ember Data Factory Guy' # ~5min job
script: yarn test-external:factory-guy
- name: 'Ember Observer' # ~5min job
script: yarn test-external:ember-observer
- name: 'Ember Resource Metadata' # ~4.25min job
script: yarn test-external:ember-resource-metadata
- name: 'Ember Data Relationship Tracker' # ~4.25min job
script: yarn test-external:ember-data-relationship-tracker
- name: 'Ember Data Model Fragments' # ~3.5min job
script: yarn test-external:model-fragments
- name: 'Ember Data Change Tracker' # ~3.5min job
script: yarn test-external:ember-data-change-tracker
- name: 'ember-m3' # ~3.5min job
script: yarn test-external:ember-m3
before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash
- export PATH=$HOME/.yarn/bin:$PATH
install:
- yarn install
- node ./bin/packages-for-commit.js
script:
- yarn test:try-one $EMBER_TRY_SCENARIO --skip-cleanup