-
Notifications
You must be signed in to change notification settings - Fork 0
149 lines (114 loc) · 3.2 KB
/
ci.yaml
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
name: CI
on:
push:
branches:
- master
jobs:
build-and-test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
node: [14, 16]
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
- name: Install dependencies
run: |
npm install
- name: Set up Babel
run: |
npm install --save-dev @babel/core @babel/node @babel/preset-env @babel/register
- name: Set up Istanbul (nyc)
run: |
npm install --save-dev nyc
- name: Set up Stryker
run: |
npm install --save-dev @stryker-mutator/core @stryker-mutator/jest-runner @stryker-mutator/karma-runner @stryker-mutator/mocha-runner
- name: Set up Jest
run: |
npm install --save-dev jest
- name: Set up Mocha
run: |
npm install --save-dev mocha
- name: Set up Supertest
run: |
npm install --save-dev supertest
- name: Set up Chai
run: |
npm install --save-dev chai chai-as-promised chai-http sinon-chai
- name: Set up Sinon
run: |
npm install --save-dev sinon
- name: Set up Nock
run: |
npm install --save-dev nock
- name: Set up Stryker CLI
run: |
npm install --save-dev stryker-cli
- name: Set up ESM
run: |
npm install --save-dev esm
- name: Set up Istanbul (global)
run: |
npm install -g istanbul
- name: Set up Sequelize
run: |
npm install --save-dev sequelize sequelize-cli mysql2
- name: Set up Firebase
run: |
npm install --save-dev firebase
- name: Set up Paginationjs
run: |
npm install --save-dev paginationjs
- name: Set up Dotenv
run: |
npm install --save-dev dotenv
- name: Set up Cors
run: |
npm install --save-dev cors
- name: Set up Body Parser
run: |
npm install --save-dev body-parser
- name: Set up UUID
run: |
npm install --save-dev uuid
- name: Set up Multer
run: |
npm install --save-dev multer
- name: Set up Express
run: |
npm install --save-dev express express-ejs-layouts
- name: Set up JWT
run: |
npm install --save-dev jsonwebtoken
- name: Set up Chai as Promised
run: |
npm install --save-dev chai-as-promised
- name: Set up EJS
run: |
npm install --save-dev ejs
- name: Set up Sinon Chai
run: |
npm install --save-dev sinon-chai
- name: Set up Karma Runner for Stryker (if needed)
run: |
npm install --save-dev @stryker-mutator/karma-runner
- name: Set up Mocha Runner for Stryker (if needed)
run: |
npm install --save-dev @stryker-mutator/mocha-runner
- name: Build
run: |
# Add build commands here if needed
echo "Build commands go here"
- name: Run tests
run: |
npm test
- name: Mutation testing
run: |
# Ensure Stryker is configured properly before running this command
npx stryker