Skip to content

Commit 27992f5

Browse files
committed
Allow user to specify runtime via env var
1 parent 5eaa09d commit 27992f5

3 files changed

Lines changed: 23 additions & 17 deletions

File tree

sqlmesh/__init__.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,19 @@ def get(cls) -> RuntimeEnv:
6464
6565
Unlike the rich implementation we try to split out by notebook type instead of treating it all as Jupyter.
6666
"""
67+
runtime_env_var = os.getenv("SQLMESH_RUNTIME_ENVIRONMENT")
68+
if runtime_env_var:
69+
runtime_env_var = runtime_env_var.lower().strip().replace(" ", "").replace("-", "_")
70+
runtime_env_var = "non_interactive" if runtime_env_var == "ci" else runtime_env_var
71+
runtime_env_var = "debugger" if "debug" in runtime_env_var else runtime_env_var
72+
try:
73+
return RuntimeEnv(runtime_env_var)
74+
except ValueError:
75+
valid_values = [f'"{member.value}"' for member in RuntimeEnv] + ['"ci"']
76+
raise ValueError(
77+
f"Invalid SQLMESH_RUNTIME_ENVIRONMENT value: {runtime_env_var}. Must be one of {', '.join(valid_values)}."
78+
)
79+
6780
try:
6881
shell = get_ipython() # type: ignore
6982
if os.getenv("DATABRICKS_RUNTIME_VERSION"):

sqlmesh/core/console.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2850,13 +2850,13 @@ def show_environment_difference_summary(
28502850
)
28512851
return
28522852

2853-
self._print(f"**Summary of differences from `{context_diff.environment}`:**\n")
2853+
self._print(f"\n**Summary of differences from `{context_diff.environment}`:**")
28542854

28552855
if context_diff.has_requirement_changes:
2856-
self._print(f"Requirements:\n{context_diff.requirements_diff()}")
2856+
self._print(f"\nRequirements:\n{context_diff.requirements_diff()}")
28572857

28582858
if context_diff.has_environment_statements_changes and not no_diff:
2859-
self._print("[bold]Environment statements:\n")
2859+
self._print("\nEnvironment statements:\n")
28602860
for _, diff in context_diff.environment_statements_diff(
28612861
include_python_env=not context_diff.is_new_environment
28622862
):

tests/integrations/github/cicd/test_integration.py

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -287,8 +287,7 @@ def test_merge_pr_has_non_breaking_change(
287287
assert GithubCheckStatus(prod_plan_preview_checks_runs[1]["status"]).is_in_progress
288288
assert GithubCheckStatus(prod_plan_preview_checks_runs[2]["status"]).is_completed
289289
assert GithubCheckConclusion(prod_plan_preview_checks_runs[2]["conclusion"]).is_success
290-
expected_prod_plan_summary = """**Summary of differences from `prod`:**
291-
290+
expected_prod_plan_summary = """\n**Summary of differences from `prod`:**
292291
293292
**Directly Modified:**
294293
- `sushi.waiter_revenue_by_day`
@@ -484,8 +483,7 @@ def test_merge_pr_has_non_breaking_change_diff_start(
484483
assert GithubCheckStatus(prod_plan_preview_checks_runs[2]["status"]).is_completed
485484
assert GithubCheckConclusion(prod_plan_preview_checks_runs[2]["conclusion"]).is_success
486485
assert prod_plan_preview_checks_runs[2]["output"]["title"] == "Prod Plan Preview"
487-
expected_prod_plan = """**Summary of differences from `prod`:**
488-
486+
expected_prod_plan = """\n**Summary of differences from `prod`:**
489487
490488
**Directly Modified:**
491489
- `sushi.waiter_revenue_by_day`
@@ -992,8 +990,7 @@ def test_no_merge_since_no_deploy_signal(
992990
assert GithubCheckStatus(prod_plan_preview_checks_runs[1]["status"]).is_in_progress
993991
assert GithubCheckStatus(prod_plan_preview_checks_runs[2]["status"]).is_completed
994992
assert GithubCheckConclusion(prod_plan_preview_checks_runs[2]["conclusion"]).is_success
995-
expected_prod_plan = """**Summary of differences from `prod`:**
996-
993+
expected_prod_plan = """\n**Summary of differences from `prod`:**
997994
998995
**Directly Modified:**
999996
- `sushi.waiter_revenue_by_day`
@@ -1173,8 +1170,7 @@ def test_no_merge_since_no_deploy_signal_no_approvers_defined(
11731170
assert GithubCheckStatus(prod_plan_preview_checks_runs[1]["status"]).is_in_progress
11741171
assert GithubCheckStatus(prod_plan_preview_checks_runs[2]["status"]).is_completed
11751172
assert GithubCheckConclusion(prod_plan_preview_checks_runs[2]["conclusion"]).is_success
1176-
expected_prod_plan = """**Summary of differences from `prod`:**
1177-
1173+
expected_prod_plan = """\n**Summary of differences from `prod`:**
11781174
11791175
**Directly Modified:**
11801176
- `sushi.waiter_revenue_by_day`
@@ -1343,8 +1339,7 @@ def test_deploy_comment_pre_categorized(
13431339
assert GithubCheckStatus(prod_plan_preview_checks_runs[1]["status"]).is_in_progress
13441340
assert GithubCheckStatus(prod_plan_preview_checks_runs[2]["status"]).is_completed
13451341
assert GithubCheckConclusion(prod_plan_preview_checks_runs[2]["conclusion"]).is_success
1346-
expected_prod_plan = """**Summary of differences from `prod`:**
1347-
1342+
expected_prod_plan = """\n**Summary of differences from `prod`:**
13481343
13491344
**Directly Modified:**
13501345
- `sushi.waiter_revenue_by_day`
@@ -1682,8 +1677,7 @@ def test_overlapping_changes_models(
16821677
assert GithubCheckStatus(prod_plan_preview_checks_runs[1]["status"]).is_in_progress
16831678
assert GithubCheckStatus(prod_plan_preview_checks_runs[2]["status"]).is_completed
16841679
assert GithubCheckConclusion(prod_plan_preview_checks_runs[2]["conclusion"]).is_success
1685-
expected_prod_plan_summary = """**Summary of differences from `prod`:**
1686-
1680+
expected_prod_plan_summary = """\n**Summary of differences from `prod`:**
16871681
16881682
**Directly Modified:**
16891683
- `sushi.customers`
@@ -1877,8 +1871,7 @@ def test_pr_delete_model(
18771871
== """<table><thead><tr><th colspan="3">PR Environment Summary</th></tr><tr><th>Model</th><th>Change Type</th><th>Dates Loaded</th></tr></thead><tbody><tr><td>"memory"."sushi"."top_waiters"</td><td>Breaking</td><td>REMOVED</td></tr></tbody></table>"""
18781872
)
18791873

1880-
expected_prod_plan_summary = """**Summary of differences from `prod`:**
1881-
1874+
expected_prod_plan_summary = """\n**Summary of differences from `prod`:**
18821875
18831876
**Removed Models:**
18841877
- `sushi.top_waiters`

0 commit comments

Comments
 (0)