-
-
Notifications
You must be signed in to change notification settings - Fork 288
112 lines (110 loc) · 3.26 KB
/
docker-master-test.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
name: Master branch tests
on:
push:
branches: [master]
jobs:
test-front:
name: Front test
runs-on: ubuntu-22.04
steps:
- name: ⬇️ Checkout Gladys code
uses: actions/checkout@v3
- name: 💽 Setup nodejs
uses: actions/setup-node@v3
with:
node-version-file: 'front/package.json'
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: 📦 Install Global NPM Packages
run: |
sudo npm install typescript node-gyp npm@latest -g
- name: 📦 Install NPM front packages
working-directory: ./front
run: |
npm ci
- name: 🧐 Prettier check
working-directory: ./front
run: |
npm run prettier-check
- name: 👕 ESlint
working-directory: ./front
run: |
npm run eslint
- name: 🌐 Integration comparison
working-directory: ./front
run: |
npm run compare-translations
build-front:
name: Front build
runs-on: ubuntu-22.04
steps:
- name: ⬇️ Checkout code
uses: actions/checkout@v3
- name: 💽 Setup nodejs
uses: actions/setup-node@v3
with:
node-version-file: 'front/package.json'
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: 📦 Install NPM front packages
working-directory: ./front
run: |
npm ci
- name: 🏗️ Build front
working-directory: ./front
run: |
npm run build-with-stats
- name: Upload bundle ci
working-directory: ./front
run: npx relative-ci-agent
env:
RELATIVE_CI_KEY: ${{ secrets.RELATIVE_CI_KEY }}
- name: ↗️ Upload build artifact
uses: actions/upload-artifact@v3
with:
name: static
path: front/build
test-server:
name: Server test
runs-on: ubuntu-22.04
steps:
- name: ⬇️ Checkout Gladys code
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: 💽 Setup nodejs
uses: actions/setup-node@v3
with:
node-version-file: 'server/package.json'
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: 💽 Install System Dependencies
run: |
sudo apt update
sudo apt-get install -y libudev-dev sqlite3 openssl python-is-python3
- name: 📦 Install Global NPM Packages
run: |
sudo npm install typescript node-gyp npm@latest -g
- name: 📦 Install NPM server packages
working-directory: ./server
run: |
npm ci
- name: 🧐 Prettier check
working-directory: ./server
run: |
npm run prettier-check
- name: 👕 ESlint
working-directory: ./server
run: |
npm run eslint
- name: ✅ Test with coverage
working-directory: ./server
run: |
npm run coverage
- name: 🔐 Dependencies security audit
working-directory: ./server
run: npm audit --production --audit-level=critical || true
- name: 📄 Codecov report upload
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: true