-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
140 lines (119 loc) · 5.27 KB
/
Makefile
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
network:
@docker network create -d bridge covid-drdb-network 2>/dev/null || true
builder:
@docker build . -t hivdb/covid-drdb-builder:latest
docker-envfile:
@test -f docker-envfile || (echo "Config file 'docker-envfile' not found, use 'docker-envfile.example' as a template to create it." && false)
update-builder:
@docker pull hivdb/covid-drdb-builder:latest > /dev/null
inspect-builder: network docker-envfile
@docker run --rm -it \
--volume=$(shell pwd):/covid-drdb/ \
--volume=$(shell dirname $$(pwd))/covid-drdb-payload:/covid-drdb/payload \
--network=covid-drdb-network \
--volume ~/.aws:/root/.aws:ro \
--env-file ./docker-envfile \
hivdb/covid-drdb-builder:latest /bin/bash
release-builder:
@docker push hivdb/covid-drdb-builder:latest
autofill: update-builder
@docker run --rm \
--volume=$(shell pwd):/covid-drdb/ \
--volume=$(shell dirname $$(pwd))/covid-drdb-payload:/covid-drdb/payload \
hivdb/covid-drdb-builder:latest \
pipenv run python -m drdb.entry autofill-payload payload/
new-study: update-builder
@docker run --rm -it \
--volume=$(shell pwd):/covid-drdb/ \
--volume=$(shell dirname $$(pwd))/covid-drdb-payload:/covid-drdb/payload \
hivdb/covid-drdb-builder:latest \
pipenv run python -m drdb.entry new-study payload/
import-sierra-mutations: update-builder
@bash scripts/import_sierra_mutations.sh
import-sra-info: update-builder
@docker run --rm -it \
--volume=$(shell pwd):/covid-drdb/ \
--volume=$(shell dirname $$(pwd))/covid-drdb-payload:/covid-drdb/payload \
hivdb/covid-drdb-builder:latest \
pipenv run python -m drdb.entry import-sra-info payload/
sync-refaa: update-builder
@docker run --rm \
--volume=$(shell pwd):/covid-drdb/ \
--volume=$(shell dirname $$(pwd))/covid-drdb-payload:/covid-drdb/payload \
hivdb/covid-drdb-builder:latest \
pipenv run python -m drdb.entry update-ref-amino-acid payload/
sync-varcons: update-builder
@docker run --rm \
--volume=$(shell pwd):/covid-drdb/ \
--volume=$(shell dirname $$(pwd))/covid-drdb-payload:/covid-drdb/payload \
hivdb/covid-drdb-builder:latest \
pipenv run python -m drdb.entry update-variant-consensus payload/
sync-glue: update-builder
@docker run --rm \
--volume=$(shell pwd):/covid-drdb/ \
--volume=$(shell dirname $$(pwd))/covid-drdb-payload:/covid-drdb/payload \
hivdb/covid-drdb-builder:latest \
pipenv run python -m drdb.entry update-glue-prevalence payload/
fetch-payload-origin:
@git -C payload/ fetch origin
local-release: update-builder network docker-envfile
@docker run --rm \
--shm-size=2048m \
--volume=$(shell pwd):/covid-drdb/ \
--volume=$(shell dirname $$(pwd))/covid-drdb-payload:/covid-drdb/payload \
--network=covid-drdb-network \
--volume ~/.aws:/root/.aws:ro \
--env-file ./docker-envfile \
hivdb/covid-drdb-builder:latest \
scripts/export-sqlite.sh local
release: update-builder network docker-envfile fetch-payload-origin
@set -e ; \
version=$$(docker run --rm -it --volume=$$(pwd):/covid-drdb/ --volume=$$(dirname $$(pwd))/covid-drdb-payload:/covid-drdb/payload --network=covid-drdb-network --volume ~/.aws:/root/.aws:ro --env-file ./docker-envfile hivdb/covid-drdb-builder:latest scripts/create-tag.sh) ; \
git -C payload/ tag $${version} ; \
git -C payload/ push origin $${version} ; \
docker run \
--rm -it \
--volume=$$(pwd):/covid-drdb/ \
--volume=$$(dirname $$(pwd))/covid-drdb-payload:/covid-drdb/payload \
--env-file ./docker-envfile \
hivdb/covid-drdb-builder:latest \
scripts/watch-release.sh $${version}
pre-release: update-builder network docker-envfile fetch-payload-origin
@set -e ; \
version=$$(docker run --rm -it --volume=$$(pwd):/covid-drdb/ --volume=$$(dirname $$(pwd))/covid-drdb-payload:/covid-drdb/payload --network=covid-drdb-network --volume ~/.aws:/root/.aws:ro --env-file ./docker-envfile hivdb/covid-drdb-builder:latest scripts/create-tag.sh --prerelease) ; \
git -C payload/ tag $${version} ; \
git -C payload/ push origin $${version} ; \
docker run \
--rm -it \
--volume=$$(pwd):/covid-drdb/ \
--volume=$$(dirname $$(pwd))/covid-drdb-payload:/covid-drdb/payload \
--env-file ./docker-envfile \
hivdb/covid-drdb-builder:latest \
scripts/watch-release.sh $${version}
devdb: update-builder network
@docker run \
--rm \
--volume=$(shell pwd):/covid-drdb/ \
--volume=$(shell dirname $$(pwd))/covid-drdb-payload:/covid-drdb/payload \
hivdb/covid-drdb-builder:latest \
scripts/export-sqls.sh
$(eval volumes = $(shell docker inspect -f '{{ range .Mounts }}{{ .Name }}{{ end }}' covid-drdb-devdb))
@mkdir -p local/sqls
@docker rm -f covid-drdb-devdb 2>/dev/null || true
@docker volume rm $(volumes) 2>/dev/null || true
@docker run \
-d --name=covid-drdb-devdb \
-e POSTGRES_HOST_AUTH_METHOD=trust \
-p 127.0.0.1:6543:5432 \
--network=covid-drdb-network \
--volume=$(shell pwd)/postgresql.conf:/etc/postgresql/postgresql.conf \
--volume=$(shell pwd)/local/sqls:/docker-entrypoint-initdb.d \
postgres:13.1 \
-c 'config_file=/etc/postgresql/postgresql.conf'
log-devdb:
@docker logs -f covid-drdb-devdb
psql-devdb:
@docker exec -it covid-drdb-devdb psql -U postgres
psql-devdb-no-docker:
@psql -U postgres -h localhost -p 6543
.PHONY: autofill network devdb *-devdb builder *-builder *-sqlite release pre-release debug-* sync-* update-builder new-study import-* fetch-*