-
-
Notifications
You must be signed in to change notification settings - Fork 258
158 lines (141 loc) · 3.55 KB
/
ci-build.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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
name: CI Build
on:
push:
branches:
- master
- "v*"
pull_request:
schedule:
- cron: "0 3 * * *" # daily, at 3am
jobs:
lint:
timeout-minutes: 5
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
cache: pnpm
- name: Install Dependencies
run: pnpm install
- run: pnpm lint
test:
timeout-minutes: 5
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
cache: pnpm
- name: Install Dependencies
run: pnpm install
- run: |
google-chrome --version
- name: Build addon
working-directory: addon
run: pnpm build
- run: pnpm test
working-directory: test-app
docs-gen:
timeout-minutes: 5
name: Docs Generation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
cache: pnpm
- name: Install Dependencies
run: pnpm install
- run: pnpm build:docs
- run: echo "If this fails, docs gen is out of sync. Please run 'pnpm build:docs'" && git diff --exit-code
floating:
name: "Floating Dependencies"
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
cache: pnpm
- name: Install Dependencies
run: pnpm install --no-lockfile
- name: Build addon
working-directory: addon
run: pnpm build
- name: Run Tests
working-directory: test-app
run: pnpm test
try-scenarios:
timeout-minutes: 10
name: "Try: ${{ matrix.ember-try-scenario }}"
runs-on: ubuntu-latest
needs: test
strategy:
fail-fast: false
matrix:
ember-try-scenario:
- ember-lts-4.4
- ember-lts-4.8
- ember-lts-4.12
- ember-lts-5.4
- ember-lts-5.8
- ember-release
- ember-beta
- ember-canary
- ember-default
- embroider-safe
- embroider-optimized
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
cache: pnpm
- name: Install Dependencies
run: pnpm install
- name: Build addon
working-directory: addon
run: pnpm build
- name: test
working-directory: test-app
run: |
pnpm _syncPnpm
node_modules/.bin/ember try:one ${{ matrix.ember-try-scenario }} --skip-cleanup
types:
runs-on: ubuntu-latest
needs: test
strategy:
fail-fast: false
matrix:
ts-version:
- 5.0
- 5.1
- 5.2
- 5.3
- 5.4
- 5.5
- next
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
cache: pnpm
- name: Install Dependencies
run: pnpm install
- name: Build types for addon
working-directory: addon
run: pnpm build
- name: install TS version
working-directory: type-tests
run: pnpm add --save-dev typescript@${{matrix.ts-version}}
- name: public types
working-directory: type-tests
run: pnpm test