forked from vega/vega-lite
-
Notifications
You must be signed in to change notification settings - Fork 0
129 lines (96 loc) · 2.8 KB
/
test.yml
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
name: Test
on:
push:
branches:
- next
pull_request:
jobs:
test-matrix:
name: Node
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
cache: 'yarn'
- name: Install Node dependencies
run: yarn --frozen-lockfile
- name: Tests
run: yarn jest test/
- name: Example tests
run: yarn jest examples/
- name: Build
run: yarn build
build-site:
name: Build Site
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
cache: 'yarn'
- name: Install Node dependencies
run: yarn --frozen-lockfile
- name: Build
run: yarn build:site
runtime-lint-coverage:
name: Runtime, Linting, and Coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
cache: 'yarn'
- name: Install Node dependencies
run: yarn --frozen-lockfile
- name: Install extra dependencies for Puppeteer
run: sudo apt-get install libgbm1
- name: Build
run: yarn build:only
- name: Typechecks
run: yarn tsc
- name: Lint
run: yarn lint
- name: Runtime tests
run: yarn test:runtime
- name: Test coverage
run: yarn jest test/ --collectCoverage=true
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3.1.0
test-cli:
name: CLI
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
cache: 'yarn'
- name: Install Node dependencies
run: yarn --frozen-lockfile
- name: Build
run: yarn build:only
- name: Compile Vega
run: |
bin/vl2vg examples/specs/bar.vl.json -p > bar.vg.json
cat bar.vg.json
- name: Diff compiled Vega
run: diff bar.vg.json examples/compiled/bar.vg.json
- name: Compile PNG, SVG, PDF
run: |
bin/vl2png examples/specs/bar.vl.json > bar.png
bin/vl2svg examples/specs/bar.vl.json > bar.svg
bin/vl2pdf examples/specs/bar.vl.json > bar.pdf
- name: Compile from stdin (Unix)
if: matrix.os != 'windows-latest'
run: |
bin/vl2vg -p < examples/specs/bar.vl.json > bar-stdin.vg.json
bin/vl2png < examples/specs/bar.vl.json > bar-stdin.png
bin/vl2svg < examples/specs/bar.vl.json > bar-stdin.svg
bin/vl2pdf < examples/specs/bar.vl.json > bar-stdin.pdf