-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathJustfile
71 lines (57 loc) · 2.44 KB
/
Justfile
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
default:
just --list
dev:
#!/usr/bin/env bash
set -euxo pipefail
echo 'Building and serving...'
(trap 'kill 0' SIGINT; just dev-api & just dev-frontend)
dev-api:
cargo watch --workdir api --quiet --clear --exec 'shuttle run'
dev-frontend:
cd frontend && REACT_APP_API_PROXY=http://localhost:8000 npm start
dev-storybook:
cd frontend && npm run storybook
migrate-info:
#!/usr/bin/env bash
set -euxo pipefail
DATABASE_PORT=$(docker container inspect shuttle_calandar-api_shared_postgres --format '{{{{ (index (index .NetworkSettings.Ports "5432/tcp") 0).HostPort }}')
DATABASE_URL="postgres://postgres:[email protected]:${DATABASE_PORT}/calandar-api"
cd api && cargo sqlx migrate info --database-url "${DATABASE_URL}"
migrate-add name:
cd api && cargo sqlx migrate add -r {{name}}
migrate-run:
#!/usr/bin/env bash
set -euxo pipefail
DATABASE_PORT=$(docker container inspect shuttle_calandar-api_shared_postgres --format '{{{{ (index (index .NetworkSettings.Ports "5432/tcp") 0).HostPort }}')
DATABASE_URL="postgres://postgres:[email protected]:${DATABASE_PORT}/calandar-api"
cd api && cargo sqlx migrate run --database-url "${DATABASE_URL}"
migrate-revert:
#!/usr/bin/env bash
set -euxo pipefail
DATABASE_PORT=$(docker container inspect shuttle_calandar-api_shared_postgres --format '{{{{ (index (index .NetworkSettings.Ports "5432/tcp") 0).HostPort }}')
DATABASE_URL="postgres://postgres:[email protected]:${DATABASE_PORT}/calandar-api"
cd api && cargo sqlx migrate revert --database-url "${DATABASE_URL}"
update-sqlx:
#!/usr/bin/env bash
set -euxo pipefail
DATABASE_PORT=$(docker container inspect shuttle_calandar-api_shared_postgres --format '{{{{ (index (index .NetworkSettings.Ports "5432/tcp") 0).HostPort }}')
DATABASE_URL="postgres://postgres:[email protected]:${DATABASE_PORT}/calandar-api"
cd api && cargo sqlx prepare --database-url "${DATABASE_URL}" -- --all-targets --all-features
bacon:
cd api && bacon
pact-api:
#!/usr/bin/env bash
set -euxo pipefail
cargo shuttle run --working-directory api &
PID=$!
trap "kill ${PID}" EXIT
echo "Wait for the server to start..."
counter=0
until [[ $(curl -I -s -o /dev/null -w "%{http_code}" localhost:8000/api/healthz) =~ "204" ]] || [[ $counter -gt 10 ]]; do
sleep 1s
(( counter=counter+1 ))
echo "Counter: ${counter}"
done
pact_verifier_cli --header Authorization="Bearer put_something_here" --port 8000 --dir ./frontend/pacts
pact-frontend:
cd frontend && npm run test:pact