From 50da33712b937eddb6e98003acbdc05997e2baad Mon Sep 17 00:00:00 2001 From: Adam Moussa <166072409+amoussa1229@users.noreply.github.com> Date: Fri, 8 May 2026 17:58:28 -0400 Subject: [PATCH] Set explicit arm64 platform on Docker image build (#30) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fromAsset() builds for the host architecture by default. On x86_64 GitHub Actions runners, this produces an x86 image even with QEMU installed — the Fargate ARM64 task then fails with exec format error. --- lib/constructs/socket-mode.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/constructs/socket-mode.ts b/lib/constructs/socket-mode.ts index bdf2d98..ff0a1fe 100644 --- a/lib/constructs/socket-mode.ts +++ b/lib/constructs/socket-mode.ts @@ -1,5 +1,6 @@ import { Construct } from 'constructs'; import * as ecs from 'aws-cdk-lib/aws-ecs'; +import * as ecr_assets from 'aws-cdk-lib/aws-ecr-assets'; import * as ec2 from 'aws-cdk-lib/aws-ec2'; import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager'; import * as lambda from 'aws-cdk-lib/aws-lambda'; @@ -37,6 +38,7 @@ export class SocketModeConstruct extends Construct { taskDef.addContainer('socket-mode', { image: ecs.ContainerImage.fromAsset( path.join(__dirname, '../../services/socket-mode'), + { platform: ecr_assets.Platform.LINUX_ARM64 }, ), environment: { APP_TOKEN_SECRET_ARN: appTokenSecret.secretArn,