Skip to content

Commit 1364615

Browse files
authored
Skip building lambda layers for python 3.6 and 3.7 when the cpu architecture is arm64 (#1208)
1 parent ed65a09 commit 1364615

File tree

2 files changed

+47
-38
lines changed

2 files changed

+47
-38
lines changed

building/build-lambda-layers.sh

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,41 +4,46 @@ set -ex
44
VERSION=$(python -c "import awswrangler as wr; print(wr.__version__)")
55
DIR_NAME=$(dirname "$PWD")
66

7+
ARCH=$(arch)
8+
[ "${ARCH}" = "aarch64" ] && ARCH_SUFFIX="-arm64" # AWS Lambda, the name arm64 is used instead of aarch64
9+
710
echo "Building Lambda Layers for AWS Data Wrangler ${VERSION}"
811

912
pushd lambda
1013

1114
# Building all related docker images
1215
./build-docker-images.sh
1316

14-
# Python 3.6
15-
docker run \
16-
--volume "$DIR_NAME":/aws-data-wrangler/ \
17-
--workdir /aws-data-wrangler/building/lambda \
18-
--rm \
19-
awswrangler-build-py36 \
20-
build-lambda-layer.sh "${VERSION}-py3.6" "ninja-build"
21-
22-
# Python 3.7
23-
docker run \
24-
--volume "$DIR_NAME":/aws-data-wrangler/ \
25-
--workdir /aws-data-wrangler/building/lambda \
26-
--rm \
27-
awswrangler-build-py37 \
28-
build-lambda-layer.sh "${VERSION}-py3.7" "ninja-build"
17+
if [ "${ARCH}" != "aarch64" ]; then # https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
18+
# Python 3.6
19+
docker run \
20+
--volume "$DIR_NAME":/aws-data-wrangler/ \
21+
--workdir /aws-data-wrangler/building/lambda \
22+
--rm \
23+
awswrangler-build-py36 \
24+
build-lambda-layer.sh "${VERSION}-py3.6" "ninja-build"
25+
26+
# Python 3.7
27+
docker run \
28+
--volume "$DIR_NAME":/aws-data-wrangler/ \
29+
--workdir /aws-data-wrangler/building/lambda \
30+
--rm \
31+
awswrangler-build-py37 \
32+
build-lambda-layer.sh "${VERSION}-py3.7" "ninja-build"
33+
fi
2934

3035
# Python 3.8
3136
docker run \
32-
--volume "$DIR_NAME":/aws-data-wrangler/ \
33-
--workdir /aws-data-wrangler/building/lambda \
34-
--rm \
35-
awswrangler-build-py38 \
36-
build-lambda-layer.sh "${VERSION}-py3.8" "ninja-build"
37+
--volume "$DIR_NAME":/aws-data-wrangler/ \
38+
--workdir /aws-data-wrangler/building/lambda \
39+
--rm \
40+
awswrangler-build-py38 \
41+
build-lambda-layer.sh "${VERSION}-py3.8${ARCH_SUFFIX}" "ninja-build"
3742

3843
# Python 3.9
3944
docker run \
40-
--volume "$DIR_NAME":/aws-data-wrangler/ \
41-
--workdir /aws-data-wrangler/building/lambda \
42-
--rm \
43-
awswrangler-build-py39 \
44-
build-lambda-layer.sh "${VERSION}-py3.9" "ninja-build"
45+
--volume "$DIR_NAME":/aws-data-wrangler/ \
46+
--workdir /aws-data-wrangler/building/lambda \
47+
--rm \
48+
awswrangler-build-py39 \
49+
build-lambda-layer.sh "${VERSION}-py3.9${ARCH_SUFFIX}" "ninja-build"

building/lambda/build-docker-images.sh

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,24 @@ cp ../../poetry.lock .
66

77
export DOCKER_BUILDKIT=1
88

9-
# Python 3.6
10-
docker build \
11-
--pull \
12-
--tag awswrangler-build-py36 \
13-
--build-arg base_image=public.ecr.aws/lambda/python:3.6 \
14-
--build-arg python_version=python36 \
15-
.
9+
ARCH=$(arch)
1610

17-
# Python 3.7
18-
docker build \
19-
--pull \
20-
--tag awswrangler-build-py37 \
21-
--build-arg base_image=public.ecr.aws/lambda/python:3.7 \
22-
.
11+
if [ "${ARCH}" != "aarch64" ]; then
12+
# Python 3.6
13+
docker build \
14+
--pull \
15+
--tag awswrangler-build-py36 \
16+
--build-arg base_image=public.ecr.aws/lambda/python:3.6 \
17+
--build-arg python_version=python36 \
18+
.
19+
20+
# Python 3.7
21+
docker build \
22+
--pull \
23+
--tag awswrangler-build-py37 \
24+
--build-arg base_image=public.ecr.aws/lambda/python:3.7 \
25+
.
26+
fi
2327

2428
# Python 3.8
2529
docker build \

0 commit comments

Comments
 (0)