-
Notifications
You must be signed in to change notification settings - Fork 192
181 lines (154 loc) · 4.45 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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
name: CI
on:
workflow_dispatch:
push:
branches:
- main
- next
- 'release-*'
- 'v*'
pull_request: {}
schedule:
- cron: '0 3 * * *' # daily, at 3am
env:
TURBO_API: http://127.0.0.1:9080
TURBO_TOKEN: this-is-not-a-secret
TURBO_TEAM: myself
jobs:
install_dependencies:
name: 'Setup'
runs-on: 'ubuntu-latest'
steps:
- uses: wyvox/action@v1
with:
pnpm-args: '--ignore-scripts'
node-version: 22.13.0
repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: pnpm turbo prepack
- run: node ./bin/build-verify.mjs
lint:
name: Linting
runs-on: ubuntu-latest
needs: ['install_dependencies']
timeout-minutes: 10
steps:
- uses: wyvox/action@v1
with:
pnpm-args: '--ignore-scripts'
node-version: 22.13.0
repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: pnpm repo:lint:all
verify:
name: Verify
runs-on: ubuntu-latest
needs: ['install_dependencies']
timeout-minutes: 10
steps:
- uses: wyvox/action@v1
with:
pnpm-args: '--ignore-scripts'
node-version: 22.13.0
repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: pnpm lint:fix
- run: pnpm repo:update:conventions
- run: pnpm repo:update:metadata
- uses: wyvox/action-no-git-diff@v1
test-node:
name: Node
runs-on: ubuntu-latest
needs: ['install_dependencies']
timeout-minutes: 5
steps:
- uses: wyvox/action@v1
with:
node-version: 22.13.0
repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: pnpm test:node
test-smoke:
name: Smoke
runs-on: ubuntu-latest
needs: ['install_dependencies']
timeout-minutes: 5
steps:
- uses: wyvox/action@v1
with:
node-version: 22.13.0
repo-token: ${{ secrets.GITHUB_TOKEN }}
- working-directory: ./smoke-tests/node
run: |
pnpm test:setup
pnpm test:node
test-chrome:
name: Chrome
runs-on: ubuntu-latest
needs: ['install_dependencies']
timeout-minutes: 10
steps:
- name: install puppeteer libraries
run: |
sudo apt-get update
sudo apt-get install -yq libgbm1 libatk1.0-0 libc6 \
libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 \
libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 \
libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \
libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 \
libxss1 libxtst6 ca-certificates fonts-liberation libnss3 lsb-release \
xdg-utils wget libcairo2
- uses: wyvox/action@v1
with:
node-version: 22.13.0
repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: pnpm test
# test-browserstack:
# name: Browserstack
# runs-on: ubuntu-latest
# needs: ['install_dependencies']
# timeout-minutes: 20
# env:
# BROWSERSTACK_USERNAME: glimmervm1
# BROWSERSTACK_ACCESS_KEY: 7DFjbGLxYRsXWmc8tzeh
# steps:
# - uses: actions/checkout@v3
# - uses: wyvox/action-setup-pnpm@v2
# - run: pnpm browserstack:connect
# - run: pnpm test:browserstack
# - run: pnpm browserstack:results
# - run: pnpm browserstack:disconnect
# test-browserstack:
# name: Browserstack
# runs-on: ubuntu-latest
# needs: ['install_dependencies']
# timeout-minutes: 20
# env:
# BROWSERSTACK_USERNAME: glimmervm1
# BROWSERSTACK_ACCESS_KEY: 7DFjbGLxYRsXWmc8tzeh
# steps:
# - uses: actions/checkout@v3
# - uses: wyvox/action-setup-pnpm@v2
# - run: pnpm browserstack:connect
# - run: pnpm test:browserstack
# - run: pnpm browserstack:results
# - run: pnpm browserstack:disconnect
test-types:
name: Types
runs-on: ubuntu-latest
needs: ['install_dependencies']
timeout-minutes: 10
steps:
- uses: wyvox/action@v1
with:
node-version: 22.13.0
repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: pnpm repo:lint:types
floating-dependencies:
name: Floating Dependencies
runs-on: ubuntu-latest
needs: ['install_dependencies']
timeout-minutes: 10
steps:
- uses: wyvox/action@v1
with:
pnpm-args: '--no-lockfile'
node-version: 22.13.0
repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: pnpm test