-
Notifications
You must be signed in to change notification settings - Fork 3
144 lines (127 loc) · 3.41 KB
/
ci.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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
name: CI
on:
push:
branches:
- main
- "v*"
pull_request:
env:
NODE_VERSION: "18.x"
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install pnpm
uses: wyvox/action-setup-pnpm@v3
with:
pnpm-version: 8.6.0
node-version: "${{ env.NODE_VERSION }}"
args: "--frozen-lockfile"
- name: Lint
run: pnpm lint
test:
name: Tests
runs-on: ${{ matrix.os }}
needs: lint
strategy:
matrix:
os: [ubuntu-latest]
browser: [chrome]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install pnpm
uses: wyvox/action-setup-pnpm@v3
with:
pnpm-version: 8.6.0
node-version: "${{ env.NODE_VERSION }}"
args: "--frozen-lockfile"
- name: Run Tests
run: pnpm test:ember --launch ${{ matrix.browser }}
working-directory: test-app
floating-dependencies:
name: Floating Dependencies
runs-on: ${{ matrix.os }}
needs: lint
strategy:
matrix:
os: [ubuntu-latest]
browser: [chrome]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install pnpm
uses: wyvox/action-setup-pnpm@v3
with:
pnpm-version: 8.6.0
node-version: "${{ env.NODE_VERSION }}"
args: "--no-lockfile"
- name: Run tests
run: pnpm test:ember
working-directory: test-app
try-scenarios:
name: Tests - ${{ matrix.ember-try-scenario }}
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.allow-failure }}
needs: test
strategy:
fail-fast: true
matrix:
ember-try-scenario:
- ember-lts-3.28
- ember-lts-4.4
- ember-lts-4.8
- ember-lts-4.12
- ember-classic
- ember-release
- ember-beta
- embroider-safe
- embroider-optimized
allow-failure: [false]
include:
- ember-try-scenario: ember-canary
allow-failure: true
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install pnpm
uses: wyvox/action-setup-pnpm@v3
with:
pnpm-version: 8.6.0
node-version: "${{ env.NODE_VERSION }}"
args: "--frozen-lockfile"
- name: Run tests
run: pnpm ember try:one ${{ matrix.ember-try-scenario }} --skip-cleanup
working-directory: test-app
typescript-compatibility:
name: Type checking - ${{ matrix.typescript-scenario }}
runs-on: ubuntu-latest
needs: [test]
strategy:
fail-fast: false
matrix:
typescript-scenario:
- typescript@5.0
- typescript@5.1
- typescript@5.2
- typescript@next
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install pnpm
uses: wyvox/action-setup-pnpm@v3
with:
pnpm-version: 8.5.1
node-version: 18.x
args: "--frozen-lockfile"
- name: Update TS version on addon package
run: pnpm add -D ${{ matrix.typescript-scenario }}
working-directory: ember-prismic-dom
- name: Update TS version on test-app package
run: pnpm add -D ${{ matrix.typescript-scenario }}
working-directory: test-app
- name: Type checking
run: pnpm lint:types