/
.gitlab-ci.yml
48 lines (43 loc) · 1.33 KB
/
.gitlab-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
default:
image: node:19.0-alpine
stages:
- unit
- e2e
- build
- deploy
test-unit-job:
stage: unit
script:
- echo "test-unit-job of unit stage on $CI_COMMIT_BRANCH branch for $GITLAB_USER_LOGIN"
- npm install -g pnpm
- pnpm install --no-frozen-lockfile
- pnpm test:unit
test-e2e-job:
stage: e2e
rules:
- when: manual
script:
- echo "test-e2e-job of e2e stage on $CI_COMMIT_BRANCH branch for $GITLAB_USER_LOGIN"
- apt-get install -y gnupg
- wget -O- https://dl.google.com/linux/linux_signing_key.pub | gnupg --dearmor | tee /usr/share/keyrings/google-chrome.gpg
- echo deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] http://dl.google.com/linux/chrome/deb/ stable main | tee /etc/apt/sources.list.d/google-chrome.list
- apt-get update -y
- apt-get install -y google-chrome-stable chromium
- npm install -g pnpm
- pnpm install --no-frozen-lockfile
- pnpm test:e2e:headless
build-job:
stage: build
rules:
- when: manual
script:
- echo "build-job of build stage on $CI_COMMIT_BRANCH branch for $GITLAB_USER_LOGIN"
- npm install -g pnpm
- pnpm install --no-frozen-lockfile
- pnpm build
deploy-prod:
stage: deploy
rules:
- when: manual
script:
- echo "deploy-prod-job of deploy stage on $CI_COMMIT_BRANCH branch for $GITLAB_USER_LOGIN"