diff --git a/lib/constructs/socket-mode.ts b/lib/constructs/socket-mode.ts index ba59c0f..585d911 100644 --- a/lib/constructs/socket-mode.ts +++ b/lib/constructs/socket-mode.ts @@ -3,6 +3,7 @@ import * as cdk from 'aws-cdk-lib'; import * as ec2 from 'aws-cdk-lib/aws-ec2'; import * as ecs from 'aws-cdk-lib/aws-ecs'; import * as ecr from 'aws-cdk-lib/aws-ecr'; +import * as ecrAssets from 'aws-cdk-lib/aws-ecr-assets'; import * as logs from 'aws-cdk-lib/aws-logs'; import * as iam from 'aws-cdk-lib/aws-iam'; import * as dynamodb from 'aws-cdk-lib/aws-dynamodb'; @@ -76,6 +77,10 @@ export class SocketModeConstruct extends Construct { taskDef.addContainer('listener', { image: ecs.ContainerImage.fromAsset( path.join(__dirname, '../../listener'), + // Explicit platform: the task is ARM64, and without this an amd64 CI + // runner builds an amd64 image even with QEMU enabled — tasks then + // crash-loop with "exec format error" (50 failed starts on 2026-06-03). + { platform: ecrAssets.Platform.LINUX_ARM64 }, ), essential: true, environment: {