-
Notifications
You must be signed in to change notification settings - Fork 0
161 lines (118 loc) · 3.24 KB
/
build.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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
name: build
on: [push, workflow_dispatch]
jobs:
lint:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: ['14']
steps:
- name: Git checkout
uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Print NPM Config
run: npm config ls -l
- name: Install
run: npm install --audit false
- name: Install magicpatch
run: npm install -g magicpatch
- name: Security Audit
run: npm audit --omit=dev --audit-level=high
env:
NODE_ENV: production
- name: List Modules
run: npm ls
continue-on-error: true
- name: Lint
run: gulp lint
test:
needs: lint
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
node-version: [14.x, 16.x]
steps:
- name: Git checkout
uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Cache Node Modules
id: cache-node-modules
uses: actions/cache@v2
with:
path: node_modules
key: node-modules-${{ hashFiles('package-lock.json') }}
- name: Install
if: steps.cache.outputs.cache-hit != 'true'
run: npm install
- name: Install magicpatch
run: npm install -g magicpatch
- name: Test
run: npm test
docs:
needs: test
runs-on: ubuntu-latest
strategy:
matrix:
node-version: ['14']
steps:
- name: Git checkout
uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Cache Node Modules
id: cache-node-modules
uses: actions/cache@v2
with:
path: node_modules
key: node-modules-${{ hashFiles('package-lock.json') }}
- name: Install
if: steps.cache.outputs.cache-hit != 'true'
run: npm install
- name: Create Docs
run: npm run docs
- name: Publish Docs
uses: JamesIves/[email protected]
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages
FOLDER: docs
CLEAN: true
coverage:
needs: test
runs-on: ubuntu-latest
strategy:
matrix:
node-version: ['14']
steps:
- name: Git checkout
uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Cache Node Modules
id: cache-node-modules
uses: actions/cache@v2
with:
path: node_modules
key: node-modules-${{ hashFiles('package-lock.json') }}
- name: Install
if: steps.cache.outputs.cache-hit != 'true'
run: npm install
- name: Install magicpatch
run: npm install -g magicpatch
- name: Create Coverage
run: npm run coverage
- name: Publish Coverage
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}