Skip to content

Commit 1107029

Browse files
committed
fix: resolve CI test failures for S3 and Redis services
- Install s3 optional dependency in CI workflow (--extra s3) so aioboto3 is available and S3 artifact tests actually run - Defensively filter temp: prefixed keys in RedisSessionService.append_event to ensure temp state is never persisted to Redis, regardless of base class behavior
1 parent 25ebe3e commit 1107029

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

.github/workflows/unit-tests.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
uv venv .venv
3232
source .venv/bin/activate
3333
# Install dependencies as recommended in CONTRIBUTING.md
34-
uv sync --extra test
34+
uv sync --extra test --extra s3
3535
3636
- name: Run unit tests with pytest
3737
run: |

src/google/adk_community/sessions/redis_session_service.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,13 @@ async def append_event(self, session: Session, event: Event) -> Event:
197197
await super().append_event(session=session, event=event)
198198
session.last_update_time = event.timestamp
199199

200+
# Defensively strip temp state so it is never persisted to Redis.
201+
temp_keys = [
202+
k for k in session.state if k.startswith(State.TEMP_PREFIX)
203+
]
204+
for k in temp_keys:
205+
del session.state[k]
206+
200207
async with self.cache.pipeline(transaction=False) as pipe:
201208
user_sessions_key = RedisKeys.user_sessions(
202209
session.app_name, session.user_id

0 commit comments

Comments
 (0)