-
-
Notifications
You must be signed in to change notification settings - Fork 1
79 lines (79 loc) · 2.23 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
name: "Deno CI"
on:
workflow_dispatch:
repository_dispatch:
push:
branches:
- "main"
- "master"
- "feat/**"
- "feature/**"
- "release/**"
tags:
- "v*"
pull_request:
branches:
- "main"
- "master"
jobs:
format:
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest]
deno-version: [1.x]
name: "Format + Lint - 🦕 ${{matrix.deno-version}} on 💽 ${{matrix.os}}"
runs-on: ${{matrix.os}}
steps:
-
name: "🔧 setup: checkout"
uses: actions/checkout@v3
-
name: "🔧 setup: 🦕 ${{matrix.deno-version}}"
uses: denoland/setup-deno@main
with:
deno-version: ${{matrix.deno-version}}
-
name: "🎨 run deno fmt"
run: |
deno fmt --unstable \
--no-clear-screen \
--options-line-width 100 \
--options-prose-wrap preserve \
--ignore=.devcontainer,.github,.vscode ;
-
name: "🚨 run deno lint"
run: |
deno lint --unstable \
--no-clear-screen \
--ignore=.devcontainer,.github,.vscode \
--rules-exclude=no-explicit-any,no-empty-interface,no-cond-assign
test:
strategy:
fail-fast: true
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
deno-version: [1.16.0, 1.22.0, canary]
name: "Test - 🦕 ${{matrix.deno-version}} on 💽 ${{matrix.os}}"
runs-on: ${{matrix.os}}
steps:
-
name: "🔧 setup: checkout"
uses: actions/checkout@v3
-
name: "🔧 setup: 🦕 ${{matrix.deno-version}}"
uses: denoland/setup-deno@main
with:
deno-version: ${{matrix.deno-version}}
-
name: "🧪 test: stable + checks"
run: deno test -A --check --no-check=remote --jobs 4
-
name: "🧪 test: stable, no-checks"
run: deno test -A --no-check --jobs 4
-
name: "🧪 test: unstable + checks"
run: deno test -A --check --no-check=remote --unstable --jobs 4
-
name: "🧪 test: unstable, no-checks"
run: deno test -A --unstable --no-check --jobs 4