This repository was archived by the owner on Feb 22, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 33
Expand file tree
/
Copy pathtesting-with-stable-client-and-server.yml
More file actions
95 lines (91 loc) · 3.29 KB
/
Copy pathtesting-with-stable-client-and-server.yml
File metadata and controls
95 lines (91 loc) · 3.29 KB
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
name: Testing With Stable Client And Server
on:
schedule:
- cron: '0 */12 * * *'
workflow_dispatch:
push:
branches: [ main ]
jobs:
e2e-tests:
runs-on: ubuntu-latest
services:
snjs:
image: standardnotes/snjs
ports:
- 9001:9001
mock-event-publisher:
image: standardnotes/mock-event-publisher
ports:
- 3124:3000
env:
LOG_LEVEL: debug
NODE_ENV: production
VERSION: snjs-test
SNS_TOPIC_ARN: arn:aws:sns:us-east-1:000000000000:payments-local-topic
SNS_ENDPOINT: http://localstack:4566
SNS_DISABLE_SSL: true
SNS_SECRET_ACCESS_KEY: x
SNS_ACCESS_KEY_ID: x
SNS_AWS_REGION: us-east-1
NEW_RELIC_ENABLED: false
options: >-
--name "mock-event-publisher"
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Checkout On Previous Commit
run: git checkout HEAD~1
- name: Set up Node
uses: actions/setup-node@v3
- name: Install Headless Chrome
run: yarn global add mocha-headless-chrome
- name: Initialize Default Configuration
run: |
./server.sh setup
./server.sh generate-keys
- name: Set Database Passwords
run: |
sed -i "s/REVISIONS_DB_PASSWORD=.*/REVISIONS_DB_PASSWORD=changeme123/g" .env
sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=changeme123/g" .env
- name: Start Stable Server
run: ./server.sh start
env:
EXPOSED_PORT: 3123
- name: Wait for Startup
run: ./server.sh wait-for-startup
- name: Checkout On Latest Commit
run: git switch -
- name: Initialize Default Configuration on Latest Commit
run: |
./server.sh restore-config-defaults
./server.sh generate-keys
- name: Set Database Passwords
run: |
sed -i "s/REVISIONS_DB_PASSWORD=.*/REVISIONS_DB_PASSWORD=changeme123/g" .env
sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=changeme123/g" .env
- name: Setup shorter session TTLs for testing
run: |
sed -i "s/ACCESS_TOKEN_AGE=.*/ACCESS_TOKEN_AGE=4/g" docker/auth.env
sed -i "s/REFRESH_TOKEN_AGE=.*/REFRESH_TOKEN_AGE=10/g" docker/auth.env
sed -i "s/EPHEMERAL_SESSION_AGE=.*/EPHEMERAL_SESSION_AGE=300/g" docker/auth.env
- name: Setup shorter revisions creating frequency
run: |
sed -i "s/REVISIONS_FREQUENCY=.*/REVISIONS_FREQUENCY=5/g" .env
- name: Setup debug log levels
run: |
sed -i "s/LOG_LEVEL=.*/LOG_LEVEL=debug/g" docker/auth.env
sed -i "s/LOG_LEVEL=.*/LOG_LEVEL=debug/g" docker/api-gateway.env
sed -i "s/LOG_LEVEL=.*/LOG_LEVEL=debug/g" docker/files.env
sed -i "s/LOG_LEVEL=.*/LOG_LEVEL=debug/g" docker/revisions.env
sed -i "s/LOG_LEVEL=.*/LOG_LEVEL=debug/g" .env
- name: Start Updating Server
run: ./server.sh update
env:
EXPOSED_PORT: 3123
- name: Wait for Startup
run: ./server.sh wait-for-startup
- name: Connect external containers to self-hosted network
run: docker network connect --alias mock-event-publisher standardnotes_self_hosted mock-event-publisher
- name: Test
run: ./server.sh test