-
Notifications
You must be signed in to change notification settings - Fork 19
144 lines (137 loc) · 4.15 KB
/
ci-e2e.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
name: E2E
on:
pull_request:
jobs:
start-vm:
name: Start VM
runs-on: ubuntu-latest
outputs:
label: ${{ steps.start-yc-runner.outputs.label }}
instance-id: ${{ steps.start-yc-runner.outputs.instance-id }}
steps:
- name: Start YC runner
id: start-yc-runner
uses: yc-actions/yc-github-runner@v1
with:
mode: start
yc-sa-json-credentials: ${{ secrets.YC_SA_JSON_CREDENTIALS }}
github-token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
folder-id: b1gcvl619mdunf1cqqbv
image-id: fd8q5h7f9c5lpd474h12
zone-id: "ru-central1-b"
subnet-id: e2lno1rkqo63l729dlo7
cores: 4
memory: 16GB
core-fraction: 100
disk-type: network-ssd-nonreplicated
disk-size: 93GB
e2e-build:
name: Build & Run containers for 'Local'
runs-on: ${{ needs.start-vm.outputs.label }}
needs: start-vm
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: "18.x"
cache: "npm"
- name: npm install
run: |
cd packages/ui
npm run deps:install
- name: Build UI
run: |
cd packages/ui
npm run build
npm pack
npm run docker:build:dev --dockertag=local
- name: Run containers for 'Local'
run: |
curl https://raw.githubusercontent.com/ytsaurus/ytsaurus/main/yt/docker/local/run_local_cluster.sh > run_local_cluster.sh
chmod u+x run_local_cluster.sh
./run_local_cluster.sh --ui-skip-pull true --ui-version local --ui-app-installation e2e
sleep 10
e2e-local:
name: E2E for 'Local'
runs-on: ${{ needs.start-vm.outputs.label }}
needs:
- start-vm
- e2e-build
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: "18.x"
cache: "npm"
- name: npm ci
run: |
cd packages/ui/tests
npm ci
- name: Tests for 'Local'
run: |
cd packages/ui
YT_PROXY=`hostname`:8000 npm run e2e:localmode:init
npm run e2e:localmode:ui
e2e-run-for-local-as-remote:
name: Run containers for 'Local as remote'
runs-on: ${{ needs.start-vm.outputs.label }}
needs:
- start-vm
- e2e-local
steps:
- name: Run containers for 'Local as remote'
run: |
curl https://raw.githubusercontent.com/ytsaurus/ytsaurus/main/yt/docker/local/run_local_cluster.sh > run_local_cluster.sh
chmod u+x run_local_cluster.sh
./run_local_cluster.sh --stop
./run_local_cluster.sh --ui-skip-pull true --ui-version local --ui-app-installation e2e --docker-hostname `hostname` --fqdn localhost --ui-network bridge
sleep 10
e2e-local-as-remote:
name: E2E for 'Local as remote'
runs-on: ${{ needs.start-vm.outputs.label }}
needs:
- start-vm
- e2e-run-for-local-as-remote
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: "18.x"
cache: "npm"
- name: npm ci
run: |
cd packages/ui/tests
npm ci
- name: Tests for 'Local as remote'
run: |
cd packages/ui
YT_PROXY=`hostname`:8000 npm run e2e:localmode:init
npm run e2e:localmode:remote
stop-vm:
name: Stop VM
needs:
- start-vm
- e2e-local-as-remote
runs-on: ubuntu-latest
if: ${{ always() }}
steps:
- name: Stop YC runner
uses: yc-actions/yc-github-runner@v1
with:
mode: stop
yc-sa-json-credentials: ${{ secrets.YC_SA_JSON_CREDENTIALS }}
github-token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}
label: ${{ needs.start-vm.outputs.label }}
instance-id: ${{ needs.start-vm.outputs.instance-id }}