-
Notifications
You must be signed in to change notification settings - Fork 594
91 lines (72 loc) · 2.86 KB
/
ci.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
name: ci
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
deno: ["v1.x", "canary"]
os: [macOS-latest, windows-latest, ubuntu-latest]
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Setup Deno
uses: denoland/setup-deno@v1
with:
deno-version: ${{ matrix.deno }}
- name: Verify formatting
if: startsWith(matrix.os, 'ubuntu') && matrix.deno == 'v1.x'
run: deno fmt --check
- name: Run linter
if: startsWith(matrix.os, 'ubuntu') && matrix.deno == 'canary'
run: deno lint
- name: Cache dependencies
if: startsWith(matrix.os, 'ubuntu') && matrix.deno == 'v1.x'
run: deno cache --no-check --import-map=./www/import_map.json src/dev/deps.ts src/server/deps.ts www/main.ts
- name: Cache Chrome (Linux)
if: startsWith(matrix.os, 'ubuntu')
uses: actions/cache@v2
with:
path: ~/.cache/deno/deno_puppeteer
key: chrome-1022525-${{ runner.os }}-${{ hashFiles('tests/deps.ts') }}
restore-keys: chrome-1022525-${{ runner.os }}-
- name: Cache Chrome (macOS)
if: startsWith(matrix.os, 'mac')
uses: actions/cache@v2
with:
path: ~/Library/Caches/deno/deno_puppeteer
key: chrome-1022525-${{ runner.os }}-${{ hashFiles('tests/deps.ts') }}
restore-keys: chrome-1022525-${{ runner.os }}-
- name: Cache Chrome (Windows)
if: startsWith(matrix.os, 'win')
uses: actions/cache@v2
with:
path: "C:\\Users\\RUNNER~1\\AppData\\Local\\deno\\deno_puppeteer"
key: chrome-1022525-${{ runner.os }}-${{ hashFiles('tests/deps.ts') }}
restore-keys: chrome-1022525-${{ runner.os }}-
- name: Install Chromium (Unix)
if: startsWith(matrix.os, 'ubuntu') || startsWith(matrix.os, 'mac')
run: PUPPETEER_PRODUCT=chrome deno run -A --unstable https://deno.land/x/puppeteer@16.2.0/install.ts
- name: Install Chromium (Windows)
if: startsWith(matrix.os, 'windows')
run: set "PUPPETEER_PRODUCT=chrome" && deno run -A --unstable https://deno.land/x/puppeteer@16.2.0/install.ts
- name: Run tests
run: deno test -A
- name: Type check init script
run: deno check --remote init.ts
- name: Type check website
run: deno check --remote main.ts dev.ts
working-directory: www/
- name: Type check examples/counter
run: deno check --remote main.ts dev.ts
working-directory: examples/counter
- name: Type check tests/fixture
run: deno check main.ts dev.ts
working-directory: tests/fixture/
- name: Type check tests/fixture_error
run: deno check main.ts dev.ts
working-directory: tests/fixture_error/