From 31a9401f54aac726ba010a1519365427aa241115 Mon Sep 17 00:00:00 2001 From: Edward Schaefer Date: Wed, 19 Mar 2025 16:17:31 -0400 Subject: [PATCH 1/2] use 'platform' property (defined in BundlingOptions) in AssetBundlingBindMount and AssetBundlingVolumeCopy --- .../aws-s3-assets/test/integ.assets.bundling.docker-opts.ts | 1 + packages/aws-cdk-lib/core/lib/private/asset-staging.ts | 2 ++ packages/aws-cdk-lib/core/test/private/asset-staging.test.ts | 2 ++ 3 files changed, 5 insertions(+) diff --git a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-assets/test/integ.assets.bundling.docker-opts.ts b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-assets/test/integ.assets.bundling.docker-opts.ts index cff180e742e4e..c356ac29bdb1d 100644 --- a/packages/@aws-cdk-testing/framework-integ/test/aws-s3-assets/test/integ.assets.bundling.docker-opts.ts +++ b/packages/@aws-cdk-testing/framework-integ/test/aws-s3-assets/test/integ.assets.bundling.docker-opts.ts @@ -16,6 +16,7 @@ new assets.Asset(stack, 'BundledAsset', { `, ], network: 'host', + platform: 'linux/amd64', }, }); /// !hide diff --git a/packages/aws-cdk-lib/core/lib/private/asset-staging.ts b/packages/aws-cdk-lib/core/lib/private/asset-staging.ts index 80b2ce7690b1f..7a3845fd1cb92 100644 --- a/packages/aws-cdk-lib/core/lib/private/asset-staging.ts +++ b/packages/aws-cdk-lib/core/lib/private/asset-staging.ts @@ -71,6 +71,7 @@ export class AssetBundlingBindMount extends AssetBundlingBase { ...(this.options.volumes ?? []), ], network: this.options.network, + platform: this.options.platform, }); } } @@ -189,6 +190,7 @@ export class AssetBundlingVolumeCopy extends AssetBundlingBase { this.copyContainerName, ...(this.options.volumesFrom ?? []), ], + platform: this.options.platform, }); this.copyOutputTo(this.options.bundleDir); diff --git a/packages/aws-cdk-lib/core/test/private/asset-staging.test.ts b/packages/aws-cdk-lib/core/test/private/asset-staging.test.ts index 83360dd7d0cdf..ac8ba8ee1aab0 100644 --- a/packages/aws-cdk-lib/core/test/private/asset-staging.test.ts +++ b/packages/aws-cdk-lib/core/test/private/asset-staging.test.ts @@ -78,6 +78,7 @@ describe('bundling', () => { // actual docker run expect(spawnSyncStub.calledWith(DOCKER_CMD, sinon.match.array.contains([ 'run', '--rm', + '--platform', 'linux/amd64', '--volumes-from', helper.copyContainerName, 'public.ecr.aws/docker/library/alpine', ]), { encoding: 'utf-8', stdio: ['ignore', process.stderr, 'inherit'] })).toEqual(true); @@ -108,6 +109,7 @@ describe('bundling', () => { expect(spawnSyncStub.calledWith(DOCKER_CMD, sinon.match.array.contains([ 'run', '--rm', '--network', 'host', + '--platform', 'linux/amd64', '-v', 'public.ecr.aws/docker/library/alpine', ]), { encoding: 'utf-8', stdio: ['ignore', process.stderr, 'inherit'] })).toEqual(true); From db44c54a845705da429ec844db16f15e48117ab3 Mon Sep 17 00:00:00 2001 From: Edward Schaefer Date: Wed, 19 Mar 2025 19:14:26 -0400 Subject: [PATCH 2/2] fixed unit test error --- packages/aws-cdk-lib/core/test/private/asset-staging.test.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/aws-cdk-lib/core/test/private/asset-staging.test.ts b/packages/aws-cdk-lib/core/test/private/asset-staging.test.ts index ac8ba8ee1aab0..c275e0370f5e9 100644 --- a/packages/aws-cdk-lib/core/test/private/asset-staging.test.ts +++ b/packages/aws-cdk-lib/core/test/private/asset-staging.test.ts @@ -26,6 +26,7 @@ describe('bundling', () => { bundleDir: '/tmp/output', image: DockerImage.fromRegistry('public.ecr.aws/docker/library/alpine'), user: '1000', + platform: 'linux/amd64', }; const helper = new AssetBundlingVolumeCopy(options); helper.run(); @@ -101,6 +102,7 @@ describe('bundling', () => { image: DockerImage.fromRegistry('public.ecr.aws/docker/library/alpine'), user: '1000', network: 'host', + platform: 'linux/amd64', }; const helper = new AssetBundlingBindMount(options); helper.run();