superset-showtime 0.4.0__py3-none-any.whl → 0.4.5__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.
Potentially problematic release.
This version of superset-showtime might be problematic. Click here for more details.
- showtime/__init__.py +1 -1
- showtime/cli.py +6 -0
- showtime/core/pull_request.py +20 -8
- showtime/core/show.py +7 -4
- {superset_showtime-0.4.0.dist-info → superset_showtime-0.4.5.dist-info}/METADATA +1 -1
- {superset_showtime-0.4.0.dist-info → superset_showtime-0.4.5.dist-info}/RECORD +8 -8
- {superset_showtime-0.4.0.dist-info → superset_showtime-0.4.5.dist-info}/WHEEL +0 -0
- {superset_showtime-0.4.0.dist-info → superset_showtime-0.4.5.dist-info}/entry_points.txt +0 -0
showtime/__init__.py
CHANGED
showtime/cli.py
CHANGED
|
@@ -206,6 +206,12 @@ def status(
|
|
|
206
206
|
if show_data["requested_by"]:
|
|
207
207
|
table.add_row("Requested by", f"@{show_data['requested_by']}")
|
|
208
208
|
|
|
209
|
+
# Show active triggers
|
|
210
|
+
trigger_labels = [label for label in pr.labels if "showtime-trigger-" in label]
|
|
211
|
+
if trigger_labels:
|
|
212
|
+
trigger_display = ", ".join(trigger_labels)
|
|
213
|
+
table.add_row("Active Triggers", trigger_display)
|
|
214
|
+
|
|
209
215
|
if verbose:
|
|
210
216
|
table.add_row("All Labels", ", ".join(pr.circus_labels))
|
|
211
217
|
|
showtime/core/pull_request.py
CHANGED
|
@@ -364,10 +364,12 @@ class PullRequest:
|
|
|
364
364
|
if trigger_labels:
|
|
365
365
|
for trigger in trigger_labels:
|
|
366
366
|
if "showtime-trigger-start" in trigger:
|
|
367
|
-
if self.current_show and self.current_show.
|
|
367
|
+
if self.current_show and self.current_show.status == "failed":
|
|
368
|
+
return "create_environment" # Replace failed environment
|
|
369
|
+
elif self.current_show and self.current_show.needs_update(target_sha):
|
|
368
370
|
return "rolling_update"
|
|
369
371
|
elif self.current_show:
|
|
370
|
-
return "no_action" # Same commit
|
|
372
|
+
return "no_action" # Same commit, healthy environment
|
|
371
373
|
else:
|
|
372
374
|
return "create_environment"
|
|
373
375
|
elif "showtime-trigger-stop" in trigger:
|
|
@@ -505,6 +507,9 @@ class PullRequest:
|
|
|
505
507
|
if dry_run:
|
|
506
508
|
return
|
|
507
509
|
|
|
510
|
+
# Refresh labels to get current state (atomic claim may have changed them)
|
|
511
|
+
self.refresh_labels()
|
|
512
|
+
|
|
508
513
|
# First, remove any existing status labels for this SHA to ensure clean transitions
|
|
509
514
|
sha_status_labels = [
|
|
510
515
|
label for label in self.labels
|
|
@@ -513,22 +518,29 @@ class PullRequest:
|
|
|
513
518
|
for old_status_label in sha_status_labels:
|
|
514
519
|
get_github().remove_label(self.pr_number, old_status_label)
|
|
515
520
|
|
|
516
|
-
# Now do normal differential updates
|
|
517
|
-
|
|
521
|
+
# Now do normal differential updates - only for this SHA
|
|
522
|
+
current_sha_labels = {
|
|
523
|
+
label for label in self.labels
|
|
524
|
+
if label.startswith("🎪") and (
|
|
525
|
+
label.startswith(f"🎪 {show.sha} ") or # SHA-first format: 🎪 abc123f 📅 ...
|
|
526
|
+
label.startswith(f"🎪 🎯 {show.sha}") or # Pointer format: 🎪 🎯 abc123f
|
|
527
|
+
label.startswith(f"🎪 🏗️ {show.sha}") # Building pointer: 🎪 🏗️ abc123f
|
|
528
|
+
)
|
|
529
|
+
}
|
|
518
530
|
desired_labels = set(show.to_circus_labels())
|
|
519
531
|
|
|
520
532
|
# Remove the status labels we already cleaned up from the differential
|
|
521
|
-
|
|
533
|
+
current_sha_labels = current_sha_labels - set(sha_status_labels)
|
|
522
534
|
|
|
523
535
|
# Only add labels that don't exist
|
|
524
|
-
labels_to_add = desired_labels -
|
|
536
|
+
labels_to_add = desired_labels - current_sha_labels
|
|
525
537
|
for label in labels_to_add:
|
|
526
538
|
get_github().add_label(self.pr_number, label)
|
|
527
539
|
|
|
528
540
|
# Only remove labels that shouldn't exist (excluding status labels already handled)
|
|
529
|
-
labels_to_remove =
|
|
541
|
+
labels_to_remove = current_sha_labels - desired_labels
|
|
530
542
|
for label in labels_to_remove:
|
|
531
543
|
get_github().remove_label(self.pr_number, label)
|
|
532
544
|
|
|
533
|
-
#
|
|
545
|
+
# Final refresh to update cache with all changes
|
|
534
546
|
self.refresh_labels()
|
showtime/core/show.py
CHANGED
|
@@ -166,10 +166,10 @@ class Show:
|
|
|
166
166
|
# Detect if running in CI environment
|
|
167
167
|
is_ci = bool(os.getenv("GITHUB_ACTIONS") or os.getenv("CI"))
|
|
168
168
|
|
|
169
|
-
#
|
|
169
|
+
# Build command without final path
|
|
170
170
|
cmd = [
|
|
171
171
|
"docker",
|
|
172
|
-
"buildx",
|
|
172
|
+
"buildx",
|
|
173
173
|
"build",
|
|
174
174
|
"--push",
|
|
175
175
|
"--platform",
|
|
@@ -182,7 +182,6 @@ class Show:
|
|
|
182
182
|
"LOAD_EXAMPLES_DUCKDB=true",
|
|
183
183
|
"-t",
|
|
184
184
|
tag,
|
|
185
|
-
".",
|
|
186
185
|
]
|
|
187
186
|
|
|
188
187
|
# Add caching based on environment
|
|
@@ -209,12 +208,16 @@ class Show:
|
|
|
209
208
|
force_load = os.getenv("DOCKER_LOAD", "false").lower() == "true"
|
|
210
209
|
|
|
211
210
|
if native_x86 or force_load:
|
|
212
|
-
cmd.
|
|
211
|
+
cmd.append("--load")
|
|
213
212
|
print("🐳 Will load image to local Docker daemon (native x86_64 platform)")
|
|
214
213
|
else:
|
|
215
214
|
print("🐳 Cross-platform build - pushing to registry only (no local load)")
|
|
216
215
|
|
|
216
|
+
# Add build context path last
|
|
217
|
+
cmd.append(".")
|
|
218
|
+
|
|
217
219
|
print(f"🐳 Building Docker image: {tag}")
|
|
220
|
+
print(f"🐳 Command: {' '.join(cmd)}")
|
|
218
221
|
|
|
219
222
|
# Stream output in real-time
|
|
220
223
|
process = subprocess.Popen(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: superset-showtime
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.5
|
|
4
4
|
Summary: 🎪 Apache Superset ephemeral environment management with circus tent emoji state tracking
|
|
5
5
|
Project-URL: Homepage, https://github.com/apache/superset-showtime
|
|
6
6
|
Project-URL: Documentation, https://superset-showtime.readthedocs.io/
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
showtime/__init__.py,sha256
|
|
1
|
+
showtime/__init__.py,sha256=manqzOJIZh483MCnfTgP6iNIgWk5zbK0bCgteMjNY30,448
|
|
2
2
|
showtime/__main__.py,sha256=EVaDaTX69yIhCzChg99vqvFSCN4ELstEt7Mpb9FMZX8,109
|
|
3
|
-
showtime/cli.py,sha256=
|
|
3
|
+
showtime/cli.py,sha256=faFM6pe3gz49_1KrzUeri7dQffqz4WP92JmGxPaIOC0,25249
|
|
4
4
|
showtime/core/__init__.py,sha256=54hbdFNGrzuNMBdraezfjT8Zi6g221pKlJ9mREnKwCw,34
|
|
5
5
|
showtime/core/aws.py,sha256=REeZ6_1C9f6mBchBAGa1MeDJeZIwir4IJ92HLRcK5ok,32636
|
|
6
6
|
showtime/core/emojis.py,sha256=MHEDuPIdfNiop4zbNLuviz3eY05QiftYSHHCVbkfKhw,2129
|
|
7
7
|
showtime/core/github.py,sha256=uETvKDO2Yhpqg3fxLtrKaCuZR3b-1LVmgnf5aLcqrAQ,9988
|
|
8
8
|
showtime/core/github_messages.py,sha256=MfgwCukrEsWWesMsuL8saciDgP4nS-gijzu8DXr-Alg,7450
|
|
9
9
|
showtime/core/label_colors.py,sha256=efhbFnz_3nqEnEqmgyF6_hZbxtCu_fmb68BIIUpSsnk,3895
|
|
10
|
-
showtime/core/pull_request.py,sha256=
|
|
11
|
-
showtime/core/show.py,sha256=
|
|
10
|
+
showtime/core/pull_request.py,sha256=429ploGtbqnFjy0k7Nij6tYgCgSy3Ue8D9j2lJiWmz8,21010
|
|
11
|
+
showtime/core/show.py,sha256=b6ABVSFvLH2jBHxAsP1ZjbHUlmxuhR2831phbsfpprA,9836
|
|
12
12
|
showtime/data/ecs-task-definition.json,sha256=0ZaE0FZ8IWduXd2RyscMhXeVgxyym6qtjH02CK9mXBI,2235
|
|
13
|
-
superset_showtime-0.4.
|
|
14
|
-
superset_showtime-0.4.
|
|
15
|
-
superset_showtime-0.4.
|
|
16
|
-
superset_showtime-0.4.
|
|
13
|
+
superset_showtime-0.4.5.dist-info/METADATA,sha256=9sgmsSojME9VSyn0JrowuHfMNBu9nNdHBVkJx9A91b8,12052
|
|
14
|
+
superset_showtime-0.4.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
15
|
+
superset_showtime-0.4.5.dist-info/entry_points.txt,sha256=rDW7oZ57mqyBUS4N_3_R7bZNGVHB-104jwmY-hHC_ck,85
|
|
16
|
+
superset_showtime-0.4.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|