Skip to content

Commit 0f2d242

Browse files
committed
Use Docker for setting up backends.
1 parent f6f3587 commit 0f2d242

File tree

3 files changed

+44
-55
lines changed

3 files changed

+44
-55
lines changed

.github/workflows/1maxPadPerInstance.yml

+37-54
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,34 @@ name: "Proxy Test: 3 Pads <> 3 Unique Backends"
33
# any branch is useful for testing before a PR is submitted
44
on: [push, pull_request]
55

6+
67
jobs:
78
deployAndLoadTest:
9+
services:
10+
etherpad1:
11+
container_name: etherpad1
12+
image: etherpad/etherpad
13+
ports:
14+
- 9001:9001
15+
volumes:
16+
- "./support/settings.json:/opt/etherpad-lite/settings.json"
17+
- "./test1:/opt/etherpad-lite/var"
18+
etherpad2:
19+
image: etherpad/etherpad
20+
container_name: etherpad2
21+
ports:
22+
- 9002:9001
23+
volumes:
24+
- "./support/settings.json:/opt/etherpad-lite/settings.json"
25+
- "./test2:/opt/etherpad-lite/var"
26+
etherpad3:
27+
container_name: etherpad3
28+
image: etherpad/etherpad
29+
ports:
30+
- 9003:9001
31+
volumes:
32+
- "./support/settings.json:/opt/etherpad-lite/settings.json"
33+
- "./test3:/opt/etherpad-lite/var"
834
# run on pushes to any branch
935
# run on PRs from external forks
1036
if: |
@@ -37,53 +63,6 @@ jobs:
3763
- name: install dependencies
3864
run: pnpm i
3965

40-
# install and run etherpad on ports 9001, 9002 and 9003
41-
- name: Git clone etherpad to test1
42-
uses: actions/checkout@v3
43-
with:
44-
repository: ether/etherpad-lite
45-
path: test1
46-
47-
- name: prep etherpad >> test1
48-
run: cd test1 && pnpm i
49-
- name: Copy settings json for Dirty db to be active
50-
run: cp test1/settings.json.template test1/settings.json
51-
52-
- name: start etherpad >> test1
53-
run: cd test1 && pnpm run prod > test1log.txt &
54-
55-
- name: Git clone etherpad to test2
56-
uses: actions/checkout@v3
57-
with:
58-
repository: ether/etherpad-lite
59-
path: test2
60-
61-
- name: Change port to 9002
62-
# "port" : 9001 >> "port" :9002
63-
run: sed 's/9001/9002/g' test2/settings.json.template > test2/settings.json
64-
65-
- name: prep etherpad >> test2
66-
run: cd test2/src && pnpm i
67-
68-
- name: start etherpad >> test2
69-
run: cd test2 && pnpm run prod > test2log.txt &
70-
71-
- name: Git clone etherpad to test3
72-
uses: actions/checkout@v3
73-
with:
74-
repository: ether/etherpad-lite
75-
path: test3
76-
77-
- name: Change port to 9003
78-
# "port" : 9001 >> "port" :9002
79-
run: sed 's/9001/9003/g' test2/settings.json.template > test3/settings.json
80-
81-
- name: prep etherpad >> test3
82-
run: cd test3/src && pnpm i
83-
84-
- name: start etherpad >> test3
85-
run: cd test3 && pnpm run prod > test3log.txt &
86-
8766
- name: support 1 pad per instances
8867
run: sed 's/5/1/g' settings.json.template > settings.json
8968

@@ -122,7 +101,11 @@ jobs:
122101
uses: jakejarvis/wait-action@master
123102
with:
124103
time: '30s'
125-
104+
- name: "Generate log files"
105+
run: |
106+
docker logs etherpad1 > test1/test1log.txt
107+
docker logs etherpad2 > test2/test2log.txt
108+
docker logs etherpad3 > test3/test3log.txt
126109
- name: proxy log
127110
uses: actions/upload-artifact@v3
128111
with:
@@ -151,25 +134,25 @@ jobs:
151134
uses: actions/upload-artifact@v3
152135
with:
153136
name: test1
154-
path: test1/var/dirty.db
137+
path: test1/dirty.db
155138

156139
- name: Test2 DB
157140
uses: actions/upload-artifact@v3
158141
with:
159142
name: test2
160-
path: test2/var/dirty.db
143+
path: test2/dirty.db
161144

162145
- name: Test3 DB
163146
uses: actions/upload-artifact@v3
164147
with:
165148
name: test3
166-
path: test3/var/dirty.db
149+
path: test3/dirty.db
167150

168151
- name: check test1 has just one pad.
169-
run: test $(grep -oE '(test1|test2|test3)' test1/var/dirty.db | sort -u | wc -l) -eq 1
152+
run: test $(grep -oE '(test1|test2|test3)' test1/dirty.db | sort -u | wc -l) -eq 1
170153

171154
- name: check test2 has just one pad.
172-
run: test $(grep -oE '(test1|test2|test3)' test2/var/dirty.db | sort -u | wc -l) -eq 1
155+
run: test $(grep -oE '(test1|test2|test3)' test2/dirty.db | sort -u | wc -l) -eq 1
173156

174157
- name: check test3 has just one pad.
175-
run: test $(grep -oE '(test1|test2|test3)' test3/var/dirty.db | sort -u | wc -l) -eq 1
158+
run: test $(grep -oE '(test1|test2|test3)' test3/dirty.db | sort -u | wc -l) -eq 1

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
node_modules/*
22
dirty.db
3-
settings.json
3+
/settings.json
44
.idea

support/settings.json

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"dbType": "dirty",
3+
"dbSettings": {
4+
"filename": "var/dirty.db"
5+
}
6+
}

0 commit comments

Comments
 (0)