Skip to content

Commit 25331ea

Browse files
Tweaks for codebuild jobs to run on native platforms (#859)
1 parent 0540e17 commit 25331ea

File tree

4 files changed

+13
-6
lines changed

4 files changed

+13
-6
lines changed

codebuild/cd/musl-arm64-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ phases:
88
build:
99
commands:
1010
- cd aws-crt-java
11-
- ./codebuild/cd/musl-linux-build.sh aws-crt-alpine-3.16-arm64 linux-aarch_64-musl
11+
- ./codebuild/cd/musl-linux-build.sh aws-crt-alpine-3.16-arm64 linux-aarch_64-musl linux/aarch64
1212

1313
post_build:
1414
commands:

codebuild/cd/musl-armv7-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ phases:
99
commands:
1010
- cd aws-crt-java
1111
- export AWS_CRT_ARCH=armv7
12-
- ./codebuild/cd/musl-linux-build.sh aws-crt-alpine-3.16-armv7 linux-armv7-musl
12+
- ./codebuild/cd/musl-linux-build.sh aws-crt-alpine-3.16-armv7 linux-armv7-musl linux/arm/v7
1313

1414
post_build:
1515
commands:

codebuild/cd/musl-linux-build.sh

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,25 @@ IMAGE_NAME=$1
66
shift
77
CLASSIFIER=$1
88
shift
9+
ARCH=$1
10+
shift
911

1012
# Pry the builder version this CRT is using out of ci.yml
1113
BUILDER_VERSION=$(cat .github/workflows/ci.yml | grep 'BUILDER_VERSION:' | sed 's/\s*BUILDER_VERSION:\s*\(.*\)/\1/')
1214
echo "Using builder version ${BUILDER_VERSION}"
1315

1416
aws ecr get-login-password | docker login 123124136734.dkr.ecr.us-east-1.amazonaws.com -u AWS --password-stdin
1517
export DOCKER_IMAGE=123124136734.dkr.ecr.us-east-1.amazonaws.com/${IMAGE_NAME}:${BUILDER_VERSION}
16-
export QEMU_IMAGE=123124136734.dkr.ecr.us-east-1.amazonaws.com/multiarch-qemu-user-static:latest
17-
docker run --rm --privileged ${QEMU_IMAGE} --reset -p yes
18+
19+
# on x86-64 and aarch64 we run on native images in codebuild
20+
# on other platforms we require emulation which is done through binfmt
21+
if [ "$ARCH" != "linux/aarch64" ]; then
22+
export QEMU_IMAGE=123124136734.dkr.ecr.us-east-1.amazonaws.com/multiarch-qemu-user-static:latest
23+
docker run --rm --privileged ${QEMU_IMAGE} --reset -p yes
24+
fi
1825

1926
export BRANCH_TAG=$(git describe --tags)
20-
docker run --mount type=bind,src=$(pwd),dst=/root/aws-crt-java --env AWS_ACCESS_KEY_ID --env AWS_SECRET_ACCESS_KEY --env AWS_DEFAULT_REGION --env CXXFLAGS --env AWS_CRT_ARCH $DOCKER_IMAGE --version=${BUILDER_VERSION} build -p aws-crt-java --classifier ${CLASSIFIER} --branch ${BRANCH_TAG} run_tests=false
27+
docker run --mount type=bind,src=$(pwd),dst=/root/aws-crt-java --env CXXFLAGS --env AWS_CRT_ARCH --platform ${ARCH} $DOCKER_IMAGE --version=${BUILDER_VERSION} build -p aws-crt-java --classifier ${CLASSIFIER} --branch ${BRANCH_TAG} run_tests=false
2128
docker container prune -f
2229

2330
# Upload the artifacts to S3

codebuild/cd/musl-x64-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ phases:
88
build:
99
commands:
1010
- cd aws-crt-java
11-
- ./codebuild/cd/musl-linux-build.sh aws-crt-alpine-3.16-x64 linux-x86_64-musl
11+
- ./codebuild/cd/musl-linux-build.sh aws-crt-alpine-3.16-x64 linux-x86_64-musl linux/amd64
1212

1313
post_build:
1414
commands:

0 commit comments

Comments
 (0)