1
+ config .define_string_list ("test" )
2
+ cfg = config .parse ()
3
+
1
4
local_resource (
2
5
name = "init-onchain" ,
3
6
labels = ["dev-setup" ],
@@ -9,18 +12,18 @@ local_resource(
9
12
)
10
13
11
14
local_resource (
12
- name = ' init-lightning' ,
13
- labels = [' dev-setup' ],
14
- cmd = ' vendor/galoy-quickstart/bin/init-lightning.sh' ,
15
+ name = " init-lightning" ,
16
+ labels = [" dev-setup" ],
17
+ cmd = " vendor/galoy-quickstart/bin/init-lightning.sh" ,
15
18
resource_deps = [
16
19
"init-onchain" ,
17
20
"lnd1" ,
18
21
"lnd-outside-1" ,
19
22
]
20
23
)
21
24
22
- docker_compose (' vendor/galoy-quickstart/docker-compose.yml' )
23
- galoy_services = ["apollo-router" , "galoy" , "trigger" , " redis" , "mongodb" , "mongodb-migrate" , "price" , "price-history" , "price-history-migrate" , "price-history-pg" , "svix" , "svix-pg" , "stablesats" , "notifications" , "notifications-pg" ]
25
+ docker_compose (" vendor/galoy-quickstart/docker-compose.yml" )
26
+ galoy_services = ["apollo-router" , "redis" , "mongodb" , "mongodb-migrate" , "price" , "price-history" , "price-history-migrate" , "price-history-pg" , "svix" , "svix-pg" , "stablesats" , "notifications" , "notifications-pg" ]
24
27
auth_services = ["oathkeeper" , "kratos" , "kratos-pg" , "hydra" , "hydra-pg" , "hydra-migrate" ]
25
28
bitcoin_services = ["bitcoind" , "bitcoind-signer" , "lnd1" , "lnd-outside-1" , "bria" , "bria-pg" , "fulcrum" ]
26
29
@@ -31,45 +34,70 @@ for service in auth_services:
31
34
for service in bitcoin_services :
32
35
dc_resource (service , labels = ["bitcoin" ])
33
36
34
- dc_resource ('otel-agent' , labels = ["otel" ])
35
- dc_resource ('quickstart-test' , labels = ['quickstart' ], auto_init = False )
37
+ dc_resource ("galoy" , labels = ["galoy" ], resource_deps = ["dev-ln-setup" ])
38
+ dc_resource ("trigger" , labels = ["galoy" ], resource_deps = ["galoy" , "dev-ln-setup" ])
39
+ dc_resource ("otel-agent" , labels = ["otel" ])
40
+ dc_resource ("quickstart-test" , labels = ["quickstart" ], auto_init = False )
36
41
37
42
local_resource (
38
- name = ' dev-ln-setup' ,
39
- labels = [' dev-setup' ],
40
- cmd = ' bin/dev-ln-setup.sh' ,
43
+ name = " dev-ln-setup" ,
44
+ labels = [" dev-setup" ],
45
+ cmd = " bin/dev-ln-setup.sh" ,
41
46
resource_deps = galoy_services + [
42
47
"init-lightning"
43
48
]
44
49
)
45
50
46
51
local_resource (
47
- name = 'dev-setup' ,
48
- labels = ['dev-setup' ],
49
- cmd = 'bin/dev-setup.sh' ,
52
+ name = "wait-for-galoy" ,
53
+ labels = ["dev-setup" ],
54
+ cmd = '''
55
+ GALOY_ENDPOINT=${GALOY_ENDPOINT:-localhost:4455}
56
+ max_attempts=30
57
+ attempt=1
58
+ while [ $attempt -le $max_attempts ]; do
59
+ if curl -f -X POST http://$GALOY_ENDPOINT/graphql \
60
+ -H 'Content-Type: application/json' \
61
+ -d '{"query":"query Globals { globals { network } }"}' 2>/dev/null; then
62
+ echo "GraphQL server is ready at $GALOY_ENDPOINT!"
63
+ exit 0
64
+ fi
65
+ echo "Attempt $attempt/$max_attempts: Waiting for GraphQL server at $GALOY_ENDPOINT..."
66
+ sleep 10
67
+ attempt=$((attempt + 1))
68
+ done
69
+ echo "GraphQL server failed to become ready at $GALOY_ENDPOINT"
70
+ exit 1
71
+ ''' ,
72
+ resource_deps = ["galoy" ]
73
+ )
74
+
75
+ local_resource (
76
+ name = "dev-setup" ,
77
+ labels = ["dev-setup" ],
78
+ cmd = "bin/dev-setup.sh" ,
50
79
resource_deps = [
51
- "galoy" ,
52
- "dev-ln-setup"
80
+ "wait-for-galoy" ,
53
81
]
54
82
)
55
83
56
84
local_resource (
57
- name = ' one-block-every-5s' ,
58
- labels = [' dev-setup' ],
59
- serve_cmd = ' bin/one-block-every-5s.sh' ,
85
+ name = " one-block-every-5s" ,
86
+ labels = [" dev-setup" ],
87
+ serve_cmd = " bin/one-block-every-5s.sh" ,
60
88
resource_deps = [
61
- "dev-setup"
89
+ "dev-ln- setup"
62
90
]
63
91
)
64
92
65
93
# iOS E2E test
66
94
local_resource (
67
- name = ' ios-e2e-tests' ,
68
- auto_init = False ,
95
+ name = " ios-e2e-tests" ,
96
+ auto_init = "ios-e2e-tests" in cfg . get ( "test" , []) ,
69
97
labels = ["test" ],
70
- cmd = '''
98
+ cmd = """
71
99
# Run the tests
72
100
nix develop -c yarn e2e:test ios.sim.debug -d -R 5 --take-screenshots all --record-videos all --record-logs all --artifacts-location ./ios-recordings
73
- ''' ,
101
+ """ ,
74
102
resource_deps = ["dev-setup" ]
75
103
)
0 commit comments