99 static :
1010 ignore-failure : false
1111 env :
12- type : LINUX_CONTAINER
1312 privileged-mode : true
1413 dynamic :
1514 env :
1615 variables :
1716 DISTRO_VERSION :
1817 - " 1"
19- - " 2"
2018 RUNTIME_VERSION :
2119 - " 10"
2220 - " 12"
@@ -28,12 +26,22 @@ phases:
2826 - echo "Extracting and including the Runtime Interface Emulator"
2927 - SCRATCH_DIR=".scratch"
3028 - mkdir "${SCRATCH_DIR}"
31- - tar -xvf test/integration/resources/aws-lambda-rie.tar.gz --directory "${SCRATCH_DIR}"
29+ - ARCHITECTURE=$(arch)
30+ - >
31+ if [[ "$ARCHITECTURE" == "x86_64" ]]; then
32+ RIE="aws-lambda-rie"
33+ elif [[ "$ARCHITECTURE" == "aarch64" ]]; then
34+ RIE="aws-lambda-rie-arm64"
35+ else
36+ echo "Architecture $ARCHITECTURE is not currently supported."
37+ exit 1
38+ fi
39+ - tar -xvf test/integration/resources/${RIE}.tar.gz --directory "${SCRATCH_DIR}"
3240 - >
3341 cp "test/integration/docker/Dockerfile.echo.${OS_DISTRIBUTION}" \
3442 "${SCRATCH_DIR}/Dockerfile.echo.${OS_DISTRIBUTION}.tmp"
3543 - >
36- echo "COPY ${SCRATCH_DIR}/aws-lambda-rie /usr/bin/aws-lambda-rie " >> \
44+ echo "COPY ${SCRATCH_DIR}/${RIE} /usr/bin/${RIE} " >> \
3745 "${SCRATCH_DIR}/Dockerfile.echo.${OS_DISTRIBUTION}.tmp"
3846 - >
3947 if [[ -z "${DOCKERHUB_USERNAME}" && -z "${DOCKERHUB_PASSWORD}" ]];
@@ -49,7 +57,8 @@ phases:
4957 -f "${SCRATCH_DIR}/Dockerfile.echo.${OS_DISTRIBUTION}.tmp" \
5058 -t "${IMAGE_TAG}" \
5159 --build-arg RUNTIME_VERSION="${RUNTIME_VERSION}" \
52- --build-arg DISTRO_VERSION="${DISTRO_VERSION}"
60+ --build-arg DISTRO_VERSION="${DISTRO_VERSION}" \
61+ --build-arg ARCHITECTURE="${ARCHITECTURE}"
5362 build :
5463 commands :
5564 - set -x
@@ -58,12 +67,11 @@ phases:
5867 - >
5968 docker run \
6069 --detach \
61- -e "NPX_BINARY_LOCATION=${NPX_BINARY_LOCATION}" \
6270 --name "${OS_DISTRIBUTION}-app" \
6371 --network "${OS_DISTRIBUTION}-network" \
6472 --entrypoint="" \
6573 "${IMAGE_TAG}" \
66- sh -c ' /usr/bin/aws-lambda-rie ${NPX_BINARY_LOCATION} aws-lambda-ric index.handler'
74+ sh -c " /usr/bin/${RIE} ${NPX_BINARY_LOCATION} aws-lambda-ric index.handler"
6775 - sleep 2
6876 - >
6977 docker run \
@@ -79,19 +87,20 @@ phases:
7987 echo "Response: ${actual}"
8088 if [[ "$actual" != "$expected" ]]; then
8189 echo "fail! runtime: $RUNTIME - expected output $expected - got $actual"
90+ exit -1
91+ fi
92+ finally :
93+ - |
8294 echo "---------Container Logs: ${OS_DISTRIBUTION}-app----------"
8395 echo
84- docker logs "${OS_DISTRIBUTION}-app"
96+ docker logs "${OS_DISTRIBUTION}-app" || true
8597 echo
8698 echo "---------------------------------------------------"
8799 echo "--------Container Logs: ${OS_DISTRIBUTION}-tester--------"
88100 echo
89- docker logs "${OS_DISTRIBUTION}-tester"
101+ docker logs "${OS_DISTRIBUTION}-tester" || true
90102 echo
91103 echo "---------------------------------------------------"
92- exit -1
93- fi
94- finally :
95104 - echo "Cleaning up..."
96105 - docker stop "${OS_DISTRIBUTION}-app" || true
97106 - docker rm --force "${OS_DISTRIBUTION}-app" || true
0 commit comments