MCPcopy Create free account
hub / github.com/FastLED/FastLED / build_board_image

Method build_board_image

ci/docker_utils/qemu_esp32_docker.py:329–380  ·  view source on GitHub ↗

Build Docker image for platform using ci-compile.py logic. Args: platform: Board platform name (e.g., 'esp32dev', 'esp32s3') progress: Whether to show progress indicators Returns: Exit code (0 for success, non-zero for failure)

(self, platform: str, progress: bool = True)

Source from the content-addressed store, hash-verified

327 return False
328
329 def build_board_image(self, platform: str, progress: bool = True) -> int:
330 """Build Docker image for platform using ci-compile.py logic.
331
332 Args:
333 platform: Board platform name (e.g., 'esp32dev', 'esp32s3')
334 progress: Whether to show progress indicators
335
336 Returns:
337 Exit code (0 for success, non-zero for failure)
338 """
339 if progress:
340 print(f"🔨 Building Docker image for {platform}...")
341 print(" This will take approximately 30 minutes")
342 print(" Progress will be shown below:")
343 print()
344
345 # Build command: uv run ci/ci-compile.py --docker --build {platform} Blink
346 build_cmd = [
347 "uv",
348 "run",
349 "ci/ci-compile.py",
350 platform,
351 "--examples",
352 "Blink",
353 "--docker",
354 "--build",
355 ]
356
357 proc = RunningProcess(
358 build_cmd,
359 env=get_docker_env(),
360 timeout=1800000, # 30 minutes in milliseconds
361 auto_run=True,
362 )
363
364 # Stream build output
365 with proc.line_iter(timeout=None) as it:
366 for line in it:
367 print(line)
368
369 returncode = cast(int, proc.wait())
370
371 if returncode == 0 and progress:
372 print()
373 print(f"✅ Docker image for {platform} built successfully")
374 print()
375 elif returncode != 0:
376 print()
377 print(f"❌ Failed to build Docker image for {platform}")
378 print()
379
380 return returncode
381
382 def pull_image(self):
383 """Pull the Docker image if not already available."""

Callers 1

run_qemu_testsFunction · 0.95

Calls 3

get_docker_envFunction · 0.85
printFunction · 0.50
waitMethod · 0.45

Tested by

no test coverage detected