From b78785eba119002a61672e5be33d7d9fabbfc714 Mon Sep 17 00:00:00 2001 From: frostebite Date: Wed, 11 Mar 2026 08:11:42 +0000 Subject: [PATCH] fix(ci): pin LocalStack to v3.8.1 for AWS SDK v3 compatibility localstack:latest (v4.14+) returns JSON responses for some S3 operations, but @aws-sdk/client-s3 v3.779+ uses AwsRestXmlProtocol which expects XML. This breaks all SharedWorkspaceLocking tests (locking, e2e caching, retaining). Pin to v3.8.1 (last v3 release) where the S3 provider returns proper XML responses. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/validate-orchestrator-integration.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/validate-orchestrator-integration.yml b/.github/workflows/validate-orchestrator-integration.yml index 55861d6b..a663b557 100644 --- a/.github/workflows/validate-orchestrator-integration.yml +++ b/.github/workflows/validate-orchestrator-integration.yml @@ -227,7 +227,7 @@ jobs: -e SERVICES=s3,cloudformation,ecs,kinesis,cloudwatch,logs,efs,ec2,iam,elasticfilesystem,secretsmanager,lambda,events,sts \ -e DEBUG=0 \ -e HOSTNAME_EXTERNAL=localstack-main \ - localstack/localstack:latest || true + localstack/localstack:3.8.1 || true echo "Waiting for LocalStack to be ready..." MAX_ATTEMPTS=60 READY=false @@ -553,7 +553,7 @@ jobs: -p 4566:4566 \ -e SERVICES=s3,cloudformation,ecs,kinesis,cloudwatch,logs,efs,ec2,iam,elasticfilesystem,secretsmanager,lambda,events,sts \ -e DEBUG=0 \ - localstack/localstack:latest || true + localstack/localstack:3.8.1 || true MAX_ATTEMPTS=60 for i in $(seq 1 $MAX_ATTEMPTS); do HEALTH=$(curl -s http://localhost:4566/_localstack/health 2>/dev/null || echo "") @@ -831,7 +831,7 @@ jobs: -p 4566:4566 \ -e SERVICES=s3,cloudformation,ecs,kinesis,cloudwatch,logs \ -e DEBUG=0 \ - localstack/localstack:latest || true + localstack/localstack:3.8.1 || true MAX_ATTEMPTS=60 for i in $(seq 1 $MAX_ATTEMPTS); do HEALTH=$(curl -s http://localhost:4566/_localstack/health 2>/dev/null || echo "") @@ -1070,7 +1070,7 @@ jobs: -p 4566:4566 \ -e SERVICES=s3 \ -e DEBUG=0 \ - localstack/localstack:latest || true + localstack/localstack:3.8.1 || true MAX_ATTEMPTS=60 for i in $(seq 1 $MAX_ATTEMPTS); do HEALTH=$(curl -s http://localhost:4566/_localstack/health 2>/dev/null || echo "")