forked from MIT-LCP/mimic-code
-
Notifications
You must be signed in to change notification settings - Fork 0
123 lines (107 loc) · 4.23 KB
/
build-db.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
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
name: Test DB build scripts
on: pull_request
jobs:
build-mimic-iv-psql:
# Containers must run in Linux based operating systems
runs-on: ubuntu-latest
# Docker Hub image that `container-job` executes in
container: node:latest
# Service containers to run with `container-job`
services:
# Label used to access the service container
postgres:
# Docker Hub image
image: postgres
# Provide the password for postgres
env:
POSTGRES_PASSWORD: postgres
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Install psql command
run: |
apt-get update
apt-get install --yes --no-install-recommends postgresql-client
- id: 'auth'
uses: 'google-github-actions/auth@v0'
with:
project_id: ${{ secrets.GCP_PROJECT_ID }}
credentials_json: ${{ secrets.GCP_SA_KEY }}
- name: 'Set up Cloud SDK'
uses: 'google-github-actions/setup-gcloud@v0'
- name: Download demo and create tables on PostgreSQL
run: |
echo "Downloading MIMIC-IV demo from GCP."
gsutil -q -u $PROJECT_ID -m cp -r gs://mimic-iv-archive/v2.0/demo ./
echo "Building and loading data into psql."
psql -q -h $POSTGRES_HOST -U postgres -f mimic-iv/buildmimic/postgres/create.sql
psql -q -h $POSTGRES_HOST -U postgres -v mimic_data_dir=demo -f mimic-iv/buildmimic/postgres/load_gz.sql
echo "Validating build."
psql -h $POSTGRES_HOST -U postgres -f mimic-iv/buildmimic/postgres/validate_demo.sql > validate_results.txt
cat validate_results.txt
env:
# The hostname used to communicate with the PostgreSQL service container
POSTGRES_HOST: postgres
PGPASSWORD: postgres
# The default PostgreSQL port
POSTGRES_PORT: 5432
PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }}
build-mimic-iv-ed-psql:
# Containers must run in Linux based operating systems
runs-on: ubuntu-latest
# Docker Hub image that `container-job` executes in
container: node:latest
# Service containers to run with `container-job`
services:
# Label used to access the service container
postgres:
# Docker Hub image
image: postgres
# Provide the password for postgres
env:
POSTGRES_PASSWORD: postgres
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Install psql command
run: |
apt-get update
apt-get install --yes --no-install-recommends postgresql-client
- id: 'auth'
uses: 'google-github-actions/auth@v0'
with:
project_id: ${{ secrets.GCP_PROJECT_ID }}
credentials_json: ${{ secrets.GCP_SA_KEY }}
- name: 'Set up Cloud SDK'
uses: 'google-github-actions/setup-gcloud@v0'
- name: Download demo and create tables on PostgreSQL
run: |
echo "Downloading MIMIC-IV demo from GCP."
gsutil -q -u $PROJECT_ID -m cp -r gs://mimic-iv-archive/v2.0/demo/ed ./
MIMIC_DATA_DIR=`pwd`/ed
echo "Building and loading data into psql."
cd mimic-iv-ed/buildmimic/postgres
psql -q -h $POSTGRES_HOST -U postgres -f create.sql
psql -q -h $POSTGRES_HOST -U postgres -v mimic_data_dir=$MIMIC_DATA_DIR -f load_gz.sql
echo "Validating build."
psql -h $POSTGRES_HOST -U postgres -f validate_demo.sql > validate_results.txt
cat validate_results.txt
env:
# The hostname used to communicate with the PostgreSQL service container
POSTGRES_HOST: postgres
PGPASSWORD: postgres
# The default PostgreSQL port
POSTGRES_PORT: 5432
PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }}