9
9
static :
10
10
ignore-failure : false
11
11
env :
12
- type : LINUX_CONTAINER
13
12
privileged-mode : true
14
13
dynamic :
15
14
env :
@@ -44,15 +43,25 @@ phases:
44
43
- echo "Extracting and including Runtime Interface Emulator"
45
44
- SCRATCH_DIR=".scratch"
46
45
- mkdir "${SCRATCH_DIR}"
47
- - tar -xvf aws-lambda-java-runtime-interface-client/test/integration/resources/aws-lambda-rie.tar.gz --directory "${SCRATCH_DIR}"
46
+ - ARCHITECTURE=$(arch)
47
+ - >
48
+ if [[ "$ARCHITECTURE" == "x86_64" ]]; then
49
+ RIE="aws-lambda-rie"
50
+ elif [[ "$ARCHITECTURE" == "aarch64" ]]; then
51
+ RIE="aws-lambda-rie-arm64"
52
+ else
53
+ echo "Architecture $ARCHITECTURE is not currently supported."
54
+ exit 1
55
+ fi
56
+ - tar -xvf aws-lambda-java-runtime-interface-client/test/integration/resources/${RIE}.tar.gz --directory "${SCRATCH_DIR}"
48
57
- >
49
58
cp "aws-lambda-java-runtime-interface-client/test/integration/docker/Dockerfile.function.${OS_DISTRIBUTION}" \
50
59
"${SCRATCH_DIR}/Dockerfile.function.${OS_DISTRIBUTION}.tmp"
51
60
- >
52
61
echo "RUN apk add curl" >> \
53
62
"${SCRATCH_DIR}/Dockerfile.function.${OS_DISTRIBUTION}.tmp"
54
63
- >
55
- echo "COPY ${SCRATCH_DIR}/aws-lambda-rie /usr/bin/aws-lambda-rie " >> \
64
+ echo "COPY ${SCRATCH_DIR}/${RIE} /usr/bin/${RIE} " >> \
56
65
"${SCRATCH_DIR}/Dockerfile.function.${OS_DISTRIBUTION}.tmp"
57
66
- echo "Building image ${IMAGE_TAG}"
58
67
- >
@@ -69,12 +78,11 @@ phases:
69
78
- >
70
79
docker run \
71
80
--detach \
72
- -e "JAVA_BINARY_LOCATION=${JAVA_BINARY_LOCATION}" \
73
81
--name "${OS_DISTRIBUTION}-app" \
74
82
--network "${OS_DISTRIBUTION}-network" \
75
83
--entrypoint="" \
76
84
"${IMAGE_TAG}" \
77
- sh -c ' /usr/bin/aws-lambda-rie ${JAVA_BINARY_LOCATION} -jar ./HelloWorld-1.0.jar helloworld.App'
85
+ sh -c " /usr/bin/${RIE} ${JAVA_BINARY_LOCATION} -jar ./HelloWorld-1.0.jar helloworld.App"
78
86
- sleep 2
79
87
- >
80
88
docker run \
@@ -90,19 +98,20 @@ phases:
90
98
echo "Response: ${actual}"
91
99
if [[ "$actual" != "$expected" ]]; then
92
100
echo "fail! runtime: $RUNTIME - expected output $expected - got $actual"
93
- echo "---------Container Logs: ${OS_DISTRIBUTION}-app----------"
94
- echo
95
- docker logs "${OS_DISTRIBUTION}-app"
96
- echo
97
- echo "---------------------------------------------------"
98
- echo "--------Container Logs: ${OS_DISTRIBUTION}-tester--------"
99
- echo
100
- docker logs "${OS_DISTRIBUTION}-tester"
101
- echo
102
- echo "---------------------------------------------------"
103
101
exit -1
104
102
fi
105
103
finally :
104
+ - |
105
+ echo "---------Container Logs: ${OS_DISTRIBUTION}-app----------"
106
+ echo
107
+ docker logs "${OS_DISTRIBUTION}-app" || true
108
+ echo
109
+ echo "---------------------------------------------------"
110
+ echo "--------Container Logs: ${OS_DISTRIBUTION}-tester--------"
111
+ echo
112
+ docker logs "${OS_DISTRIBUTION}-tester" || true
113
+ echo
114
+ echo "---------------------------------------------------"
106
115
- echo "Cleaning up..."
107
116
- docker stop "${OS_DISTRIBUTION}-app" || true
108
117
- docker rm --force "${OS_DISTRIBUTION}-app" || true
0 commit comments