Skip to content

Commit a038c8f

Browse files
authored
ci: setup GitHub Actions (#1782)
1 parent e74bd18 commit a038c8f

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

.github/workflows/ci.yml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
lint:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: ⬇️ Checkout
12+
uses: actions/checkout@v2
13+
14+
- name: ⎔ Setup node ${{ matrix.node }}
15+
uses: actions/setup-node@v2
16+
with:
17+
cache: npm
18+
19+
- name: 📥 Download deps
20+
run: npm ci
21+
22+
- name: 🧪 Run lint
23+
run: npm run lint
24+
25+
build:
26+
runs-on: ${{ matrix.os }}
27+
needs: lint
28+
strategy:
29+
fail-fast: false
30+
matrix:
31+
node:
32+
- 12
33+
- 14
34+
- 16
35+
- 17
36+
os: [ubuntu-latest, macos-latest, windows-latest]
37+
browser:
38+
- FirefoxHeadless
39+
40+
steps:
41+
- name: 🛑 Cancel Previous Runs
42+
uses: styfle/[email protected]
43+
with:
44+
access_token: ${{ secrets.GITHUB_TOKEN }}
45+
46+
- name: ⬇️ Checkout
47+
uses: actions/checkout@v2
48+
49+
- name: ⎔ Setup node ${{ matrix.node }}
50+
uses: actions/setup-node@v2
51+
with:
52+
node-version: ${{ matrix.node }}
53+
cache: npm
54+
55+
- name: 📥 Download deps
56+
run: npm ci
57+
58+
- name: Run coverage
59+
run: npm test
60+
61+
- name: Run browser tests
62+
run: npm run mocha-browser-test -- --browsers ${{ matrix.browser }} --timeout 10000
63+
env:
64+
DISPLAY: :99.0
65+
66+
- name: Coverage
67+
if: matrix.os == 'ubuntu-latest' && matrix.node == '14'
68+
run: npm run coverage && npx nyc report --reporter=lcov
69+
70+
- name: Coveralls
71+
if: matrix.os == 'ubuntu-latest' && matrix.node == '14'
72+
uses: coverallsapp/[email protected]
73+
with:
74+
github-token: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)