From c7a4532838894d0ef3d0b4b2035459d6fbf69226 Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Fri, 8 May 2026 16:07:58 +0200 Subject: [PATCH] :sparkles: Add Serena update mechanism for agentic devenv Add SERENA_UPDATE_VERSION env var (in devenv docker-compose.yml) to dynamically update Serena on agentic devenv without requiring an image rebuild. Apply for update to v1.5.0 (also changing initial installation in Dockerfile to this version). --- docker/devenv/Dockerfile | 2 +- docker/devenv/docker-compose.yaml | 4 ++++ docker/devenv/files/start-tmux.sh | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/docker/devenv/Dockerfile b/docker/devenv/Dockerfile index 64b0ac1dae..24ec6dfd54 100644 --- a/docker/devenv/Dockerfile +++ b/docker/devenv/Dockerfile @@ -190,7 +190,7 @@ ENV CLJKONDO_VERSION=2026.04.15 \ UV_TOOL_DIR=/opt/uv/tools \ UV_TOOL_BIN_DIR=/opt/utils/bin \ UV_PYTHON_INSTALL_DIR=/opt/uv/python \ - SERENA_VERSION=v1.3.0 + SERENA_VERSION=1.5.0 RUN set -ex; \ ARCH="$(dpkg --print-architecture)"; \ diff --git a/docker/devenv/docker-compose.yaml b/docker/devenv/docker-compose.yaml index b69cf550db..6963b18d8a 100644 --- a/docker/devenv/docker-compose.yaml +++ b/docker/devenv/docker-compose.yaml @@ -87,6 +87,10 @@ services: - PENPOT_LDAP_ATTRS_FULLNAME=cn - PENPOT_LDAP_ATTRS_PHOTO=jpegPhoto + # agentic devenv + # Serena update: set to a commit/tag to update Serena on startup, leave empty to skip update and use the version in the image + - SERENA_UPDATE_VERSION=1.5.0 + networks: default: aliases: diff --git a/docker/devenv/files/start-tmux.sh b/docker/devenv/files/start-tmux.sh index e9acc165fe..ae61f32c5c 100755 --- a/docker/devenv/files/start-tmux.sh +++ b/docker/devenv/files/start-tmux.sh @@ -54,6 +54,10 @@ if echo "$PENPOT_FLAGS" | grep -q "enable-mcp"; then fi if [ "${SERENA_ENABLED:-false}" = "true" ]; then + if [ -n "${SERENA_UPDATE_VERSION}" ]; then + # update Serena (use sudo since the initial Serena installation is global; see Dockerfile) + sudo -E uv tool install -p 3.13 serena-agent@${SERENA_UPDATE_VERSION} --prerelease=allow + fi tmux new-window -t penpot:5 -n 'serena' tmux select-window -t penpot:5 tmux send-keys -t penpot "serena start-mcp-server --transport streamable-http --port 14281 --project penpot --context ${SERENA_CONTEXT} --host 0.0.0.0" enter