-
Notifications
You must be signed in to change notification settings - Fork 29
116 lines (100 loc) · 3.3 KB
/
test.yml
File metadata and controls
116 lines (100 loc) · 3.3 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
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:
- &checkout-branch
name: Checkout Branch
uses: actions/checkout@v5
- &setup-node
name: Setup Node
uses: actions/setup-node@v5
with:
node-version-file: package.json
cache: npm
- &install-node-packages
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:
- *checkout-branch
- *setup-node
- *install-node-packages
- 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:
- *checkout-branch
- *setup-node
- *install-node-packages
- name: Extract Week Number
run: echo "WEEK_NUMBER=$(date +%W)" >> $GITHUB_ENV
- 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 }}
- *setup-node
- *install-node-packages
- name: Run License Checks
run: npm run test:license
- name: Run in-depth.html validation
run: npm run test:in-depth
- 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