-
-
Notifications
You must be signed in to change notification settings - Fork 330
103 lines (81 loc) · 2.91 KB
/
verify-node.yml
File metadata and controls
103 lines (81 loc) · 2.91 KB
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
name: Node tests
on: pull_request
env:
FORCE_COLOR: true
jobs:
verify-linux:
timeout-minutes: 30
name: Linux
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
node-version:
- '22'
# TODO: add 'latest' once Playwright fixes yauzl for Node 26
# https://github.com/microsoft/playwright/issues/40724
- '24'
steps:
- uses: actions/checkout@v6
# TODO: remove when GitHub fixes this https://github.com/actions/runner-images/issues/10015
# (this workaround is practically the same what Playwright did in https://github.com/microsoft/playwright/pull/34238/files)
- name: Workaround for Chrome sandbox issue in Ubuntu 24.04
run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
- name: Setup Node ${{ matrix.node-version }}
uses: actions/setup-node@v6
env:
FORCE_COLOR: 0
with:
node-version: ${{ matrix.node-version }}
cache: npm
# Set up GitHub Actions caching for Wireit.
- uses: google/wireit@setup-github-actions-caching/v2
- name: Install Dependencies
run: npm ci
- name: Build packages
run: npm run build
- name: Build types for js packages
run: npm run types
# build for production in CI to make sure tests can run with production build
- name: Build specific packages for production
run: npm run build:production
- name: Install Playwright dependencies
run: npx playwright install --with-deps
- name: Test
run: npm run test:node
env:
# Node 22.18+ native type stripping preempts ts-node. Remove when mocha is replaced with node:test.
NODE_OPTIONS: '--no-experimental-strip-types'
verify-windows:
timeout-minutes: 30
name: Windows
runs-on: windows-2022
steps:
- name: Set git to use LF
run: |
git config --global core.autocrlf false
git config --global core.eol lf
- uses: actions/checkout@v6
- name: Setup Node '22'
uses: actions/setup-node@v6
env:
FORCE_COLOR: 0
with:
node-version: '22'
cache: 'npm'
# Set up GitHub Actions caching for Wireit.
- uses: google/wireit@setup-github-actions-caching/v2
- name: Install Dependencies
run: npm ci
- name: Build
run: npm run build
# build for production in CI to make sure tests can run with production build
- name: Build specific packages for production
run: npm run build:production
- name: Install Playwright dependencies
run: npx playwright install --with-deps
- name: Test
run: npm run test:node
env:
# Node 22.18+ native type stripping preempts ts-node. Remove when mocha is replaced with node:test.
NODE_OPTIONS: '--no-experimental-strip-types'