1
- name : Vertical Collection CI
1
+ name : CI
2
+
2
3
on :
3
- pull_request :
4
- types : [opened, synchronize, reopened, ready_for_review]
4
+ push :
5
+ branches :
6
+ - main
7
+ - master
8
+ pull_request : {}
9
+
10
+ concurrency :
11
+ group : ci-${{ github.head_ref || github.ref }}
12
+ cancel-in-progress : true
5
13
6
14
jobs :
7
15
test :
8
- name : Run Tests
16
+ name : " Tests"
9
17
runs-on : ubuntu-latest
10
18
timeout-minutes : 12
11
19
12
20
steps :
13
21
- name : Checkout
14
22
uses : actions/checkout@v3
15
-
16
23
- name : Use Volta
17
- uses : volta-cli/action@v1
18
-
24
+ uses : volta-cli/action@v4
19
25
- name : Node Modules Cache
20
26
id : cache-npm
21
27
uses : actions/cache@v3
22
28
with :
23
29
path : ' **/node_modules'
24
30
key : ci-yarn-${{ hashFiles('yarn.lock') }}
25
-
26
31
- name : Install Dependencies
27
32
if : steps.cache-npm.outputs.cache-hit != 'true'
28
33
run : yarn install --frozen-lockfile
29
-
30
34
- name : Lint
31
35
run : yarn lint
32
-
33
36
- name : Run Build
34
37
run : . bin/restore-env.sh && yarn run ember build
35
-
36
38
- name : Run Tests
37
39
uses : nick-fields/retry@v2
38
40
with :
39
41
timeout_minutes : 2
40
42
max_attempts : 5
41
43
command : . bin/restore-env.sh && CI=true yarn run ember test --path=dist
42
44
43
- test-ember-try :
44
- name : Run Tests
45
+ floating :
46
+ name : " Floating Dependencies"
47
+ runs-on : ubuntu-latest
48
+ timeout-minutes : 12
49
+
50
+ steps :
51
+ - uses : actions/checkout@v3
52
+ - name : Use Volta
53
+ uses : volta-cli/action@v4
54
+ - name : Node Modules Cache
55
+ id : cache-npm
56
+ uses : actions/cache@v3
57
+ with :
58
+ path : ' **/node_modules'
59
+ key : ci-yarn-${{ hashFiles('yarn.lock') }}
60
+ - name : Install Dependencies
61
+ if : steps.cache-npm.outputs.cache-hit != 'true'
62
+ run : yarn install --no-lockfile
63
+ - name : Run Tests
64
+ run : yarn test:ember
65
+
66
+ try-scenarios :
67
+ name : ${{ matrix.try-scenario }}
45
68
runs-on : ubuntu-latest
46
69
timeout-minutes : 12
47
70
48
71
strategy :
49
72
fail-fast : false
50
73
matrix :
51
- ember-version :
52
- [
53
- ember-lts-3.12,
54
- ember-lts-3.16,
55
- ember-lts-3.20,
56
- ember-lts-3.28,
57
- ember-lts-4.4,
58
- ember-release,
59
- ember-beta,
60
- ember-canary,
61
- ]
74
+ try-scenario :
75
+ - ember-lts-3.28
76
+ - ember-lts-4.4
77
+ - ember-lts-4.12,
78
+ - ember-5.2,
79
+ - ember-release,
80
+ - ember-beta,
81
+ - ember-canary,
82
+ - embroider-safe
83
+ - embroider-optimized
62
84
63
85
steps :
64
86
- name : Checkout
65
87
uses : actions/checkout@v3
66
-
67
88
- name : Use Volta
68
- uses : volta-cli/action@v1
69
-
89
+ uses : volta-cli/action@v4
70
90
- name : Stash yarn.lock for cache key
71
91
run : cp yarn.lock __cache-key
72
-
73
92
- name : Node Modules Cache
74
93
id : cache-npm
75
94
uses : actions/cache@v3
@@ -79,21 +98,17 @@ jobs:
79
98
package.json
80
99
yarn.lock
81
100
__env
82
- key : ci-yarn-v3-${{ matrix.ember-version }}-${{ hashFiles('config/ember-try.js', '__cache-key') }}
101
+ key : ci-yarn-v3-${{ matrix.try-scenario }}-${{ hashFiles('config/ember-try.js', '__cache-key') }}
83
102
restore-keys : |
84
103
ci-yarn-${{ hashFiles('yarn.lock') }}
85
-
86
104
- name : Install Dependencies
87
105
if : steps.cache-npm.outputs.cache-hit != 'true'
88
106
run : yarn install --frozen-lockfile
89
-
90
107
- name : Ember-Try Setup
91
108
if : steps.cache-npm.outputs.cache-hit != 'true'
92
- run : node_modules/.bin/ember try:one ${{ matrix.ember-version }} --skip-cleanup --- bin/stash-env.sh
93
-
109
+ run : node_modules/.bin/ember try:one ${{ matrix.try-scenario }} --skip-cleanup --- bin/stash-env.sh
94
110
- name : Run Build
95
111
run : . bin/restore-env.sh && yarn run ember build
96
-
97
112
- name : Run Tests
98
113
uses : nick-fields/retry@v2
99
114
with :
0 commit comments