Pin SocketMode image asset to LINUX_ARM64 (#42)
The task runs ARM64, but the image asset had no explicit platform, so the amd64 CD runner built an amd64 image (QEMU alone does not change the default target). Revision :8 crash-looped with "exec format error" (50 failed task starts); CloudFormation hung on service stabilization until cancelled. Local arm64 builds masked this - deploys from this Mac always produced the right image. Same fix pattern as the org-wide QEMU+platform rule for arm64 Lambda bundling.
This commit is contained in:
parent
97456f6104
commit
f2a0a7945f
1 changed files with 5 additions and 0 deletions
|
|
@ -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: {
|
||||
|
|
|
|||
Reference in a new issue