superset-showtime 0.3.1__py3-none-any.whl → 0.3.3__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 CHANGED
@@ -4,7 +4,7 @@
4
4
  Circus tent emoji state tracking for Apache Superset ephemeral environments.
5
5
  """
6
6
 
7
- __version__ = "0.3.1"
7
+ __version__ = "0.3.3"
8
8
  __author__ = "Maxime Beauchemin"
9
9
  __email__ = "maximebeauchemin@gmail.com"
10
10
 
showtime/cli.py CHANGED
@@ -312,8 +312,10 @@ def _build_docker_image(pr_number: int, sha: str, dry_run: bool = False) -> bool
312
312
  "linux/amd64",
313
313
  "--target",
314
314
  "ci",
315
- "--build-arg",
316
- "PY_VER=3.10-slim-bookworm",
315
+ "--cache-from",
316
+ "type=registry,ref=apache/superset-cache:3.10-slim-bookworm",
317
+ "--cache-to",
318
+ "type=registry,mode=max,ref=apache/superset-cache:3.10-slim-bookworm",
317
319
  "--build-arg",
318
320
  "INCLUDE_CHROMIUM=false",
319
321
  "--build-arg",
@@ -333,6 +335,8 @@ def _build_docker_image(pr_number: int, sha: str, dry_run: bool = False) -> bool
333
335
  console.print("🎪 Streaming Docker build output...")
334
336
 
335
337
  # Stream output in real-time for better user experience
338
+ import time
339
+
336
340
  process = subprocess.Popen(
337
341
  cmd,
338
342
  stdout=subprocess.PIPE,
@@ -342,17 +346,25 @@ def _build_docker_image(pr_number: int, sha: str, dry_run: bool = False) -> bool
342
346
  universal_newlines=True,
343
347
  )
344
348
 
345
- # Stream output line by line
349
+ # Stream output line by line with progress monitoring
350
+ last_output_time = time.time()
351
+ progress_timeout = 1800 # 30 min without output = stuck
352
+
346
353
  for line in process.stdout:
347
354
  console.print(f"🐳 {line.rstrip()}")
355
+ last_output_time = time.time() # Reset timeout on any output
348
356
 
349
- # Wait for completion with timeout
350
- try:
351
- return_code = process.wait(timeout=3600) # 60 min timeout
352
- except subprocess.TimeoutExpired:
353
- process.kill()
354
- console.print("🎪 ❌ Docker build timed out after 60 minutes")
355
- return False
357
+ # Check if process finished or we need to wait
358
+ if process.poll() is None:
359
+ # Process still running, wait with timeout
360
+ try:
361
+ return_code = process.wait(timeout=300) # 5 min final wait
362
+ except subprocess.TimeoutExpired:
363
+ process.kill()
364
+ console.print("🎪 ❌ Docker build hung - no progress for 30+ minutes")
365
+ return False
366
+ else:
367
+ return_code = process.returncode
356
368
 
357
369
  if return_code == 0:
358
370
  console.print(f"🎪 ✅ Docker build succeeded: {tag}")
@@ -5,7 +5,6 @@ Centralized PR comment functions with type hints and clean formatting.
5
5
  """
6
6
 
7
7
  import os
8
- import textwrap
9
8
  from typing import Dict, List, Optional
10
9
 
11
10
  from .circus import Show
@@ -60,13 +59,7 @@ def _format_comment(header: str, bullets: List[str]) -> str:
60
59
  bullets: List of bullet point strings (without •)
61
60
  """
62
61
  bullet_text = "\n".join(f"• {bullet}" for bullet in bullets)
63
- return textwrap.dedent(
64
- f"""
65
- {header}
66
-
67
- {bullet_text}
68
- """
69
- ).strip()
62
+ return f"{header}\n\n{bullet_text}"
70
63
 
71
64
 
72
65
  def get_commit_url(repo_path: str, sha: str) -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: superset-showtime
3
- Version: 0.3.1
3
+ Version: 0.3.3
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,6 +1,6 @@
1
- showtime/__init__.py,sha256=4dJqKn56kFArrqJiEHyLI6UB0dekT9A_ycSW9f-0f30,420
1
+ showtime/__init__.py,sha256=snaYpRby8c-UXJ7MEyyFdqGINLFJqrCq2LFdO5mrabQ,420
2
2
  showtime/__main__.py,sha256=EVaDaTX69yIhCzChg99vqvFSCN4ELstEt7Mpb9FMZX8,109
3
- showtime/cli.py,sha256=xOyOY55bC1f26uPxDjDsET7lkILZkFQ2x_o-lWDD9eQ,75862
3
+ showtime/cli.py,sha256=zQh9q5vj6DlqoJs_dCBxIlYPT0aJRbKh-6xzY9T81Eo,76416
4
4
  showtime/commands/__init__.py,sha256=M2wn5hYgwNCryMjLT79ncobvK884r-xk3znkCmINN_0,28
5
5
  showtime/commands/start.py,sha256=DPGbgvGPh7I60LK_VioDljUhdmhNFVjEy6BchFv1lCo,1026
6
6
  showtime/core/__init__.py,sha256=54hbdFNGrzuNMBdraezfjT8Zi6g221pKlJ9mREnKwCw,34
@@ -8,10 +8,10 @@ showtime/core/aws.py,sha256=xWrje3MS3LpFeilH6jloWy_VgE9Wky_G5VkRCOB0ZNw,32535
8
8
  showtime/core/circus.py,sha256=VHEWPpL8xLrrVm7tIF58QSDutA5gCS60gE3lZt3Lk5E,9378
9
9
  showtime/core/emojis.py,sha256=MHEDuPIdfNiop4zbNLuviz3eY05QiftYSHHCVbkfKhw,2129
10
10
  showtime/core/github.py,sha256=HWhM8_Yq4P-AHq0FV3UfrfQHUHXxkhn74vvc_9RguKA,9822
11
- showtime/core/github_messages.py,sha256=6NI1c4375XHO64sNQIsQev-0rPLKVZp9Vw4-mIEPwCQ,7537
11
+ showtime/core/github_messages.py,sha256=g4yOaJvsOtVKSQCyG-mHD-kjBRaaQFUvC-Nu_yfW5f4,7458
12
12
  showtime/core/label_colors.py,sha256=efhbFnz_3nqEnEqmgyF6_hZbxtCu_fmb68BIIUpSsnk,3895
13
13
  showtime/data/ecs-task-definition.json,sha256=0ZaE0FZ8IWduXd2RyscMhXeVgxyym6qtjH02CK9mXBI,2235
14
- superset_showtime-0.3.1.dist-info/METADATA,sha256=ruPEhhznTWhdPeGT0-Yx-bApJL9nETiKaVS7TKUdAeo,11616
15
- superset_showtime-0.3.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
16
- superset_showtime-0.3.1.dist-info/entry_points.txt,sha256=rDW7oZ57mqyBUS4N_3_R7bZNGVHB-104jwmY-hHC_ck,85
17
- superset_showtime-0.3.1.dist-info/RECORD,,
14
+ superset_showtime-0.3.3.dist-info/METADATA,sha256=8w6hGlXQKtoCpD_T3ETurhtXcaT6HzIpL5RMd27r8hY,11616
15
+ superset_showtime-0.3.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
16
+ superset_showtime-0.3.3.dist-info/entry_points.txt,sha256=rDW7oZ57mqyBUS4N_3_R7bZNGVHB-104jwmY-hHC_ck,85
17
+ superset_showtime-0.3.3.dist-info/RECORD,,