-
-
Notifications
You must be signed in to change notification settings - Fork 18
141 lines (122 loc) · 4.4 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
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
name: CI
env:
COVERALLS_REPO_TOKEN: "${{ secrets.COVERALLS_REPO_TOKEN }}"
CODECLIMATE_REPO_TOKEN: "${{ secrets.CODECLIMATE_REPO_TOKEN }}"
on:
push:
branches:
- master
pull_request:
jobs:
test:
strategy:
fail-fast: false # prevent test to stop if one fails
matrix:
node-version: [18.x, 20.x]
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- uses: actions/cache@v3
with:
path: ~/.pkg-cache/
key: ${{ matrix.os }}-${{ matrix.node-version }}
- name: openssl
run: openssl version
- name: nodejs
run: node --version
- name: Install new version npm@10
run: npm install -g npm
- name: Install deps
run: npm install
- name: Build
run: npm run build
- name: Test
run: npm run test
coverage:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: npm install -g npm@9
- run: npm install -g nyc coveralls mocha typescript codeclimate
- run: tsc --version
- run: npm install
- run: npm run build
- run: npm install nyc @istanbuljs/nyc-config-typescript
- run: make test-cov
build-legacy_14:
# The type of runner that the job will run on
strategy:
matrix:
node-version: [
# 12.x,
14.x,
]
os: [
# ubuntu-18.04,
ubuntu-20.04, ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: checkout
uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: openssl
run: openssl version
- name: nodejs
run: node --version
# Runs a set of commands using the runners shell
- name: build
run: |
npm install typescript mocha ts-node @types/node@${{ matrix.node-version }} npm@8 -g
npm install
npm run build
npm run test
build-legacy_16:
# The type of runner that the job will run on
strategy:
matrix:
node-version: [
# 12.x,
16.x,
]
os: [
# ubuntu-18.04,
ubuntu-20.04, ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: checkout
uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: openssl
run: openssl version
- name: nodejs
run: node --version
# Runs a set of commands using the runners shell
- name: build
run: |
npm install typescript mocha ts-node @types/node@${{ matrix.node-version }} npm@9 -g
npm install
npm run build
npm run test