-
Notifications
You must be signed in to change notification settings - Fork 36
134 lines (114 loc) · 3.86 KB
/
test.yml
File metadata and controls
134 lines (114 loc) · 3.86 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
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
name: CI
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
browser-macos:
name: Test Browser on macOS
runs-on: macos-latest
env:
GITHUB_ACTIONS_OUTPUT: ""
strategy:
fail-fast: false
matrix:
browser: [safari]
suite: [default, disabled, main]
steps:
- name: Extract Week Number
run: echo "WEEK_NUMBER=$(date +%W)" >> $GITHUB_ENV
- name: Checkout Branch
uses: actions/checkout@v5
- name: Setup Node
uses: actions/setup-node@v5
with:
node-version-file: package.json
cache: npm
- name: Install Node Packages
run: npm ci
- name: Run Tests
run: |
echo "Running in $BROWSER"
npm run test:${{ matrix.browser }} -- ${{ matrix.suite }}
browser-linux:
name: Test Browser on Linux
runs-on: ubuntu-latest
env:
GITHUB_ACTIONS_OUTPUT: ""
strategy:
fail-fast: false
matrix:
browser: [chrome, firefox]
suite: [default, disabled, main]
steps:
- name: Extract Week Number
run: echo "WEEK_NUMBER=$(date +%W)" >> $GITHUB_ENV
- name: Checkout Branch
uses: actions/checkout@v5
- name: Setup Node
uses: actions/setup-node@v5
with:
node-version-file: package.json
cache: npm
- name: Install Node Packages
run: npm ci
- name: Run Tests
run: |
echo "Running in $BROWSER"
npm run test:${{ matrix.browser }} -- ${{ matrix.suite }}
shell:
name: Test Shell
runs-on: ubuntu-latest
env:
GITHUB_ACTIONS_OUTPUT: ""
strategy:
fail-fast: false
matrix:
shell: [jsc, spidermonkey, v8]
suite: [default, disabled, main]
steps:
- name: Extract Week Number
run: echo "WEEK_NUMBER=$(date +%W)" >> $GITHUB_ENV
- name: Checkout Branch
uses: actions/checkout@v5
- name: Setup Node
uses: actions/setup-node@v5
with:
node-version-file: package.json
cache: npm
- name: Install Node Packages
run: npm ci
- name: Cache jsvu Binaries
uses: actions/cache@v4
with:
path: ~/.jsvu
key: ${{ runner.os }}-jsvu-${{ matrix.shell }}-week-${{ env.WEEK_NUMBER }}
- name: Run Tests
run: |
echo "Running in $BROWSER"
npm run test:${{ matrix.shell }} -- ${{ matrix.suite }}
build:
name: Test Build
runs-on: ubuntu-latest
steps:
- name: Checkout Branch
uses: actions/checkout@v4
with:
fetch-depth: ${{ github.event_name == 'pull_request' && 2 || 0 }}
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: package.json
cache: npm
- name: Install Node Packages
run: npm ci
- name: Run Build
run: |
if ${{ github.event_name == 'pull_request' }}; then
npm run test:build -- --diff="HEAD^...HEAD"
else
npm run test:build -- --diff="${{ github.event.before }}...${{ github.event.after }}"
fi