From 553afa39b6b215926e0e1dc225226bebc2e9a4cf Mon Sep 17 00:00:00 2001 From: abhinav Date: Tue, 11 Aug 2026 15:46:35 +0530 Subject: [PATCH] Pin LiveKit server Docker image to a deterministic version Replace the floating livekit/livekit-server:latest tag with a pinned release (v1.13.5) so container boots are reproducible. The integration test now reuses the pinned image constant from the _docker module instead of its own :latest literal. Fixes #27 --- server-runtime/xr_media_hub/transport/livekit/_docker.py | 6 +++++- tests/test_integration_livekit.py | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/server-runtime/xr_media_hub/transport/livekit/_docker.py b/server-runtime/xr_media_hub/transport/livekit/_docker.py index 2abedf09..ebc70d84 100644 --- a/server-runtime/xr_media_hub/transport/livekit/_docker.py +++ b/server-runtime/xr_media_hub/transport/livekit/_docker.py @@ -61,6 +61,10 @@ _CONTAINER_NAME = "xr-ai-livekit-server" +# Pinned LiveKit server image so builds are reproducible instead of tracking +# the floating ":latest" tag. Bump deliberately after validating a release. +_LIVEKIT_IMAGE = "livekit/livekit-server:v1.13.5" + class LiveKitDocker: def __init__(self, cfg: LiveKitConnectorConfig) -> None: @@ -95,7 +99,7 @@ async def start(self) -> None: "--name", _CONTAINER_NAME, "--network", "host", "-v", f"{cfg_path}:/etc/livekit.yaml:ro", - "livekit/livekit-server:latest", + _LIVEKIT_IMAGE, "--config", "/etc/livekit.yaml", stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.STDOUT, diff --git a/tests/test_integration_livekit.py b/tests/test_integration_livekit.py index 957b286e..01491f57 100644 --- a/tests/test_integration_livekit.py +++ b/tests/test_integration_livekit.py @@ -37,7 +37,7 @@ pytestmark = [pytest.mark.asyncio, pytest.mark.gpu] -_LIVEKIT_IMAGE = "livekit/livekit-server:latest" +_LIVEKIT_IMAGE = _docker_mod._LIVEKIT_IMAGE _PORT_OPEN_WAIT = 30.0 # matches _docker._READY_TIMEOUT _PORT_CLOSE_WAIT = 10.0