stoobly-agent 1.6.0__py3-none-any.whl → 1.6.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- stoobly_agent/__init__.py +1 -1
- stoobly_agent/app/cli/scaffold/workflow_run_command.py +28 -4
- stoobly_agent/test/app/models/schemas/.stoobly/db/VERSION +1 -1
- {stoobly_agent-1.6.0.dist-info → stoobly_agent-1.6.1.dist-info}/METADATA +1 -1
- {stoobly_agent-1.6.0.dist-info → stoobly_agent-1.6.1.dist-info}/RECORD +8 -8
- {stoobly_agent-1.6.0.dist-info → stoobly_agent-1.6.1.dist-info}/LICENSE +0 -0
- {stoobly_agent-1.6.0.dist-info → stoobly_agent-1.6.1.dist-info}/WHEEL +0 -0
- {stoobly_agent-1.6.0.dist-info → stoobly_agent-1.6.1.dist-info}/entry_points.txt +0 -0
stoobly_agent/__init__.py
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
COMMAND = 'stoobly-agent'
|
2
|
-
VERSION = '1.6.
|
2
|
+
VERSION = '1.6.1'
|
@@ -3,6 +3,7 @@ import os
|
|
3
3
|
import pdb
|
4
4
|
import subprocess
|
5
5
|
import re
|
6
|
+
import yaml
|
6
7
|
|
7
8
|
from typing import TypedDict
|
8
9
|
|
@@ -137,9 +138,10 @@ class WorkflowRunCommand(WorkflowCommand):
|
|
137
138
|
# Add docker compose file
|
138
139
|
command_options.append(f"-f {os.path.relpath(self.compose_path, self.__current_working_dir)}")
|
139
140
|
|
141
|
+
can_build = False
|
142
|
+
|
140
143
|
# Add custom docker compose file
|
141
144
|
custom_services = self.custom_services
|
142
|
-
|
143
145
|
if custom_services:
|
144
146
|
uses_profile = False
|
145
147
|
for service_name in custom_services:
|
@@ -153,10 +155,18 @@ class WorkflowRunCommand(WorkflowCommand):
|
|
153
155
|
# TODO: looking into why warning does not print in docker
|
154
156
|
Logger.instance(LOG_ID).error(f"Missing {self.workflow_name} profile in custom compose file")
|
155
157
|
|
156
|
-
|
158
|
+
compose_file_path = os.path.relpath(self.custom_compose_path, self.__current_working_dir)
|
159
|
+
command_options.append(f"-f {compose_file_path}")
|
160
|
+
|
161
|
+
if self.__can_build(compose_file_path):
|
162
|
+
can_build = True
|
157
163
|
|
158
164
|
if options.get('extra_compose_path'):
|
159
|
-
|
165
|
+
compose_file_path = os.path.relpath(options['extra_compose_path'], self.__current_working_dir)
|
166
|
+
command_options.append(f"-f {compose_file_path}")
|
167
|
+
|
168
|
+
if self.__can_build(compose_file_path):
|
169
|
+
can_build = True
|
160
170
|
|
161
171
|
command_options.append(f"--profile {self.workflow_name}")
|
162
172
|
|
@@ -167,7 +177,7 @@ class WorkflowRunCommand(WorkflowCommand):
|
|
167
177
|
command += command_options
|
168
178
|
command.append('up')
|
169
179
|
|
170
|
-
if options.get('build'):
|
180
|
+
if options.get('build') and can_build:
|
171
181
|
command.append('--build')
|
172
182
|
|
173
183
|
if options.get('pull'):
|
@@ -273,6 +283,20 @@ class WorkflowRunCommand(WorkflowCommand):
|
|
273
283
|
WorkflowEnv(self.workflow_path).write(env_vars)
|
274
284
|
return env_vars
|
275
285
|
|
286
|
+
def __can_build(self, compose_path: str) -> bool:
|
287
|
+
if not os.path.exists(compose_path):
|
288
|
+
return False
|
289
|
+
|
290
|
+
with open(compose_path, 'r') as f:
|
291
|
+
compose = yaml.safe_load(f)
|
292
|
+
|
293
|
+
services = compose.get('services', {})
|
294
|
+
for service_name, service in services.items():
|
295
|
+
if 'build' in service:
|
296
|
+
# Either build is a string (context) or dict (with context/Dockerfile)
|
297
|
+
return True
|
298
|
+
return False
|
299
|
+
|
276
300
|
def __find_nameservers(self, dns_resolver: dns.resolver.Resolver):
|
277
301
|
nameservers = dns_resolver.nameservers
|
278
302
|
|
@@ -1 +1 @@
|
|
1
|
-
1.6.
|
1
|
+
1.6.1
|
@@ -1,4 +1,4 @@
|
|
1
|
-
stoobly_agent/__init__.py,sha256=
|
1
|
+
stoobly_agent/__init__.py,sha256=iNNlTNbNNPYIjvmJh6qArdUsWMo0EWYVZbrMdnBK2AA,44
|
2
2
|
stoobly_agent/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3
3
|
stoobly_agent/app/api/__init__.py,sha256=ctkB8KR-eXO0SFhj602huHiyvQ3PslFWd8fkcufgrAI,1000
|
4
4
|
stoobly_agent/app/api/application_http_request_handler.py,sha256=Vvz53yB0bR7J-QqMAkLlhcZrA4P64ZEN7w8cMbgl6o0,5261
|
@@ -195,7 +195,7 @@ stoobly_agent/app/cli/scaffold/workflow_copy_command.py,sha256=R9hh5dWVz7vGld7pE
|
|
195
195
|
stoobly_agent/app/cli/scaffold/workflow_create_command.py,sha256=WmGKoqJqOkhL40oLCo8PnWhBKdfbY0dO2UtRn1IKynE,3504
|
196
196
|
stoobly_agent/app/cli/scaffold/workflow_env.py,sha256=x8V5pJmIiklD3f2q2-qq-CORf4YaXYq_r2JpR2MmSwk,416
|
197
197
|
stoobly_agent/app/cli/scaffold/workflow_log_command.py,sha256=Bke4lMOMxuDUFuAx9nlXHbKgYMO4KAg9ASHvjz4aVWc,1372
|
198
|
-
stoobly_agent/app/cli/scaffold/workflow_run_command.py,sha256=
|
198
|
+
stoobly_agent/app/cli/scaffold/workflow_run_command.py,sha256=1XFlosc3a3Amev5uW3tECwZoIBYVCJsFqG2bGtAHvgg,10652
|
199
199
|
stoobly_agent/app/cli/scaffold/workflow_validate_command.py,sha256=fhHciJXg_u32Wmh8us8LhgQj8D1SxkBADtuBBF4K0FM,4377
|
200
200
|
stoobly_agent/app/cli/scaffold_cli.py,sha256=AoWqSRXXQrqK0YeSHLJkNRTOC23PHrjJBNrq_A8KZnc,28316
|
201
201
|
stoobly_agent/app/cli/scenario_cli.py,sha256=3J1EiJOvunkfWrEkOsanw-XrKkOk78ij_GjBlE9p7CE,8229
|
@@ -697,7 +697,7 @@ stoobly_agent/test/app/models/factories/resource/local_db/helpers/log_test.py,sh
|
|
697
697
|
stoobly_agent/test/app/models/factories/resource/local_db/helpers/tiebreak_scenario_request_test.py,sha256=a1SFLyEyRRLuADvAw6ckQQKORFXvyK1lyrbkaLWx8oU,3399
|
698
698
|
stoobly_agent/test/app/models/factories/resource/local_db/request_adapter_test.py,sha256=Pzq1cBPnP9oSWG-p0c-VoymoHxgp483QmNwmV1b78RA,8453
|
699
699
|
stoobly_agent/test/app/models/factories/resource/local_db/response_adapter_test.py,sha256=9P95EKH5rZGOrmRkRIDlQZqtiLJHk9735og18Ffwpfw,2204
|
700
|
-
stoobly_agent/test/app/models/schemas/.stoobly/db/VERSION,sha256=
|
700
|
+
stoobly_agent/test/app/models/schemas/.stoobly/db/VERSION,sha256=_f4T1QzFg0lLC81UhhuJRJ7MIzez92MEH4M0zL1X0Wc,5
|
701
701
|
stoobly_agent/test/app/models/schemas/.stoobly/db/stoobly_agent.sqlite3,sha256=ch8gNx6zIelLKQx65gwFx_LRNqUD3EC5xcHZ0ukIQiU,188416
|
702
702
|
stoobly_agent/test/app/models/schemas/.stoobly/settings.yml,sha256=vLwMjweKOdod6tSLtIlyBefPQuNXq9wio4kBaODKtAU,726
|
703
703
|
stoobly_agent/test/app/models/schemas/.stoobly/tmp/options.json,sha256=OTRzarwus48CTrItedXCrgQttJHSEZonEYc7R_knvYg,2212
|
@@ -738,8 +738,8 @@ stoobly_agent/test/mock_data/scaffold/docker-compose-local-service.yml,sha256=_t
|
|
738
738
|
stoobly_agent/test/mock_data/scaffold/index.html,sha256=qJwuYajKZ4ihWZrJQ3BNObV5kf1VGnnm_vqlPJzdqLE,258
|
739
739
|
stoobly_agent/test/mock_data/uspto.yaml,sha256=6U5se7C3o-86J4m9xpOk9Npias399f5CbfWzR87WKwE,7835
|
740
740
|
stoobly_agent/test/test_helper.py,sha256=m_oAI7tmRYCNZdKfNqISWhMv3e44tjeYViQ3nTUfnos,1007
|
741
|
-
stoobly_agent-1.6.
|
742
|
-
stoobly_agent-1.6.
|
743
|
-
stoobly_agent-1.6.
|
744
|
-
stoobly_agent-1.6.
|
745
|
-
stoobly_agent-1.6.
|
741
|
+
stoobly_agent-1.6.1.dist-info/LICENSE,sha256=o93sj12cdoEOsTCjPaPFsw3Xq0SXs3pPcY-9reE2sEw,548
|
742
|
+
stoobly_agent-1.6.1.dist-info/METADATA,sha256=daCy3CxjBe_8ieKmVXg26SO_pDfCnh-ErkWJf2h_-wI,3087
|
743
|
+
stoobly_agent-1.6.1.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
744
|
+
stoobly_agent-1.6.1.dist-info/entry_points.txt,sha256=aq5wix5oC8MDQtmyPGU0xaFrsjJg7WH28NmXh2sc3Z8,56
|
745
|
+
stoobly_agent-1.6.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|