Skip to content

Commit 82092fe

Browse files
authored
Prepare v2 release plan (#50)
1 parent 6834746 commit 82092fe

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

docker-compose.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
version: "3.9"
22
services:
3+
app:
4+
build:
5+
context: .
6+
dockerfile: Dockerfile
7+
ports:
8+
- "3000:3000"
9+
depends_on:
10+
- db
311
db:
412
image: postgres
513
restart: always

docs/release/v2_release_plan.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# V2 Release Plan
2+
3+
A central document for recording plans for releasing the new v2 API for Portfolio Instruments.
4+
5+
## Preparations
6+
7+
- Update client extension to v2 to support new compatibility requirements. Test using local Docker build.
8+
9+
## Pre-Deployment
10+
11+
These are all run locally and can be quickly spun up using Docker / Docker Compose.
12+
13+
### Setup V1
14+
1. Start a brand new local test project (v1).
15+
1. Seed with mock data (v1). Should include at least 5 accounts, 5 holdings, 3 benchmarks, 3 snapshots. One of each category should be deleted / deprecated.
16+
1. Verify everything works with released client extension (v1).
17+
18+
### Test Local Rollback
19+
Test intentionally breaking the app / db.
20+
1. Backup local database.
21+
1. Put database in a fail state.
22+
1. Build / test / verify rollback scripts.
23+
24+
### Setup V2
25+
1. Stop the project (v1).
26+
1. Run SQL migrations (v2).
27+
1. Start the project (v2).
28+
1. Verify everything works as expected with local client extension (v2).
29+
1. Seed with mock data (v2). Seed requirements TBD. Should test deletion / deprecation.
30+
1. Verify everything works normally with client extension (v2).
31+
32+
## Deployment
33+
1. Backup remote database.
34+
1. Release portfolio-instruments-api (v2).
35+
1. Stop the remote server.
36+
1. Run SQL migration on remote DB (v2).
37+
1. Deploy portfolio-instruments-api (v2) on the remote server + restart.
38+
1. Release client extension (v2).
39+
1. Run sanity checks.

0 commit comments

Comments
 (0)