Skip to content

Commit 0384bbb

Browse files
committed
Add GitHub action
1 parent 3829b1f commit 0384bbb

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

.github/workflows/build.yml

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
timeout-minutes: 5
15+
16+
strategy:
17+
matrix:
18+
node-version: ['16.x', '18.x', '20.x']
19+
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v3
23+
- name: Use Node.js ${{ matrix.node-version }}
24+
uses: actions/setup-node@v3
25+
with:
26+
node-version: ${{ matrix.node-version }}
27+
cache: 'npm'
28+
- name: Install
29+
run: npm ci
30+
- name: Lint
31+
if: matrix.node-version == '20.x'
32+
run: npm run lint
33+
- name: Types
34+
if: matrix.node-version == '20.x'
35+
run: tsc
36+
- name: Prettier
37+
if: matrix.node-version == '20.x'
38+
run: npm run prettier:check
39+
- name: Test
40+
run: npm test
41+
# N.B.: The selenium server cannot run as a GitHub Actions "service" as
42+
# the tests need to mount local data into the container.
43+
- name: Start Selenium Server
44+
run: |
45+
docker run -d -p 4444:4444 \
46+
--shm-size="2g" \
47+
--name selenium_server \
48+
-v ${PWD}:${PWD} \
49+
selenium/standalone-firefox:4.16.1-20231219
50+
- name: Integration
51+
run: npm run test:integration
52+
- name: Stop Selenium Server
53+
if: always()
54+
run: docker stop selenium_server && docker rm selenium_server

0 commit comments

Comments
 (0)