Skip to content

Commit 80c8799

Browse files
committed
chore: integration tests for java 17,21,25 and keep local testing instructions the same
1 parent 5e36663 commit 80c8799

5 files changed

Lines changed: 117 additions & 18 deletions

File tree

examples/Dockerfile

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Build stage
2-
FROM --platform=linux/amd64 amazoncorretto:17-alpine AS builder
2+
FROM amazoncorretto:17-alpine AS builder
33

4+
# Install Maven
5+
RUN apk add --no-cache maven
46
WORKDIR /build
57

68
# Copy parent pom and all modules
@@ -10,9 +12,6 @@ COPY sdk-testing ./sdk-testing
1012
COPY sdk-integration-tests ./sdk-integration-tests
1113
COPY examples ./examples
1214

13-
# Install Maven
14-
RUN apk add --no-cache maven
15-
1615
# Build and install the SDK modules first
1716
RUN mvn clean install -DskipTests -pl sdk,sdk-testing -am
1817

examples/Dockerfile-java17

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Build stage
2+
FROM --platform=linux/amd64 amazoncorretto:17-alpine AS builder
3+
4+
WORKDIR /build
5+
6+
# Copy parent pom and all modules
7+
COPY pom.xml .
8+
COPY sdk ./sdk
9+
COPY sdk-testing ./sdk-testing
10+
COPY sdk-integration-tests ./sdk-integration-tests
11+
COPY examples ./examples
12+
13+
# Install Maven
14+
RUN apk add --no-cache maven
15+
16+
# Build and install the SDK modules first
17+
RUN mvn clean install -DskipTests -pl sdk,sdk-testing -am
18+
19+
# Build the examples project
20+
RUN mvn clean package -DskipTests -pl examples -am
21+
22+
# Runtime stage
23+
FROM public.ecr.aws/lambda/java:17
24+
25+
# Copy only the built JAR from build stage
26+
COPY --from=builder /build/examples/target/*.jar ${LAMBDA_TASK_ROOT}/lib/
27+
28+
# Default CMD (will be overridden by ImageConfig.Command in SAM template)
29+
CMD ["com.amazonaws.lambda.durable.examples.SimpleStepExample::handleRequest"]

examples/Dockerfile-java21

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Build stage
2+
FROM --platform=linux/amd64 amazoncorretto:21-alpine AS builder
3+
4+
WORKDIR /build
5+
6+
# Copy parent pom and all modules
7+
COPY pom.xml .
8+
COPY sdk ./sdk
9+
COPY sdk-testing ./sdk-testing
10+
COPY sdk-integration-tests ./sdk-integration-tests
11+
COPY examples ./examples
12+
13+
# Install Maven
14+
RUN apk add --no-cache maven
15+
16+
# Build and install the SDK modules first
17+
RUN mvn clean install -DskipTests -pl sdk,sdk-testing -am
18+
19+
# Build the examples project
20+
RUN mvn clean package -DskipTests -pl examples -am
21+
22+
# Runtime stage
23+
FROM public.ecr.aws/lambda/java:21
24+
25+
# Copy only the built JAR from build stage
26+
COPY --from=builder /build/examples/target/*.jar ${LAMBDA_TASK_ROOT}/lib/
27+
28+
# Default CMD (will be overridden by ImageConfig.Command in SAM template)
29+
CMD ["com.amazonaws.lambda.durable.examples.SimpleStepExample::handleRequest"]

examples/Dockerfile-java25

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Build stage
2+
FROM --platform=linux/amd64 amazoncorretto:25-alpine AS builder
3+
4+
WORKDIR /build
5+
6+
# Copy parent pom and all modules
7+
COPY pom.xml .
8+
COPY sdk ./sdk
9+
COPY sdk-testing ./sdk-testing
10+
COPY sdk-integration-tests ./sdk-integration-tests
11+
COPY examples ./examples
12+
13+
# Install Maven
14+
RUN apk add --no-cache maven
15+
16+
# Build and install the SDK modules first
17+
RUN mvn clean install -DskipTests -pl sdk,sdk-testing -am
18+
19+
# Build the examples project
20+
RUN mvn clean package -DskipTests -pl examples -am
21+
22+
# Runtime stage
23+
FROM public.ecr.aws/lambda/java:25
24+
25+
# Copy only the built JAR from build stage
26+
COPY --from=builder /build/examples/target/*.jar ${LAMBDA_TASK_ROOT}/lib/
27+
28+
# Default CMD (will be overridden by ImageConfig.Command in SAM template)
29+
CMD ["com.amazonaws.lambda.durable.examples.SimpleStepExample::handleRequest"]

examples/template.yaml

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,25 @@ AWSTemplateFormatVersion: "2010-09-09"
22
Transform: AWS::Serverless-2016-10-31
33
Description: AWS Lambda Durable Execution SDK Examples
44

5+
Parameters:
6+
Architecture:
7+
Type: String
8+
Default: arm64
9+
Description: Lambda Function Architecture
10+
AllowedValues:
11+
- x86_64
12+
- arm64
13+
DockerFile:
14+
Type: String
15+
Default: examples/Dockerfile
16+
Description: path to Dockerfile
17+
518
Globals:
619
Function:
720
Timeout: 900
821
MemorySize: 512
922
Architectures:
10-
- x86_64
23+
- !Ref Architecture
1124

1225
Resources:
1326
SimpleStepExampleFunction:
@@ -28,7 +41,7 @@ Resources:
2841
- lambda:GetDurableExecutionState
2942
Resource: !Sub "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:simple-step-example"
3043
Metadata:
31-
Dockerfile: examples/Dockerfile
44+
Dockerfile: !Ref DockerFile
3245
DockerContext: ../
3346
DockerTag: durable-examples
3447

@@ -55,7 +68,7 @@ Resources:
5568
- lambda:InvokeFunction
5669
Resource: '*'
5770
Metadata:
58-
Dockerfile: examples/Dockerfile
71+
Dockerfile: !Ref DockerFile
5972
DockerContext: ../
6073
DockerTag: durable-examples
6174

@@ -77,7 +90,7 @@ Resources:
7790
- lambda:GetDurableExecutionState
7891
Resource: !Sub "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:wait-example"
7992
Metadata:
80-
Dockerfile: examples/Dockerfile
93+
Dockerfile: !Ref DockerFile
8194
DockerContext: ../
8295
DockerTag: durable-examples
8396

@@ -99,7 +112,7 @@ Resources:
99112
- lambda:GetDurableExecutionState
100113
Resource: !Sub "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:retry-example"
101114
Metadata:
102-
Dockerfile: examples/Dockerfile
115+
Dockerfile: !Ref DockerFile
103116
DockerContext: ../
104117
DockerTag: durable-examples
105118

@@ -121,7 +134,7 @@ Resources:
121134
- lambda:GetDurableExecutionState
122135
Resource: !Sub "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:wait-at-least-example"
123136
Metadata:
124-
Dockerfile: examples/Dockerfile
137+
Dockerfile: !Ref DockerFile
125138
DockerContext: ../
126139
DockerTag: durable-examples
127140

@@ -143,7 +156,7 @@ Resources:
143156
- lambda:GetDurableExecutionState
144157
Resource: !Sub "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:wait-at-least-in-process-example"
145158
Metadata:
146-
Dockerfile: examples/Dockerfile
159+
Dockerfile: !Ref DockerFile
147160
DockerContext: ../
148161
DockerTag: durable-examples
149162

@@ -165,7 +178,7 @@ Resources:
165178
- lambda:GetDurableExecutionState
166179
Resource: !Sub "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:retry-in-process-example"
167180
Metadata:
168-
Dockerfile: examples/Dockerfile
181+
Dockerfile: !Ref DockerFile
169182
DockerContext: ../
170183
DockerTag: durable-examples
171184

@@ -187,7 +200,7 @@ Resources:
187200
- lambda:GetDurableExecutionState
188201
Resource: !Sub "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:generic-types-example"
189202
Metadata:
190-
Dockerfile: examples/Dockerfile
203+
Dockerfile: !Ref DockerFile
191204
DockerContext: ../
192205
DockerTag: durable-examples
193206

@@ -209,7 +222,7 @@ Resources:
209222
- lambda:GetDurableExecutionState
210223
Resource: !Sub "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:custom-config-example"
211224
Metadata:
212-
Dockerfile: examples/Dockerfile
225+
Dockerfile: !Ref DockerFile
213226
DockerContext: ../
214227
DockerTag: durable-examples
215228

@@ -231,7 +244,7 @@ Resources:
231244
- lambda:GetDurableExecutionState
232245
Resource: !Sub "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:logging-example"
233246
Metadata:
234-
Dockerfile: examples/Dockerfile
247+
Dockerfile: !Ref DockerFile
235248
DockerContext: ../
236249
DockerTag: durable-examples
237250

@@ -253,7 +266,7 @@ Resources:
253266
- lambda:GetDurableExecutionState
254267
Resource: !Sub "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:error-handling-example"
255268
Metadata:
256-
Dockerfile: examples/Dockerfile
269+
Dockerfile: !Ref DockerFile
257270
DockerContext: ../
258271
DockerTag: durable-examples
259272

@@ -275,7 +288,7 @@ Resources:
275288
- lambda:GetDurableExecutionState
276289
Resource: !Sub "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:callback-example"
277290
Metadata:
278-
Dockerfile: examples/Dockerfile
291+
Dockerfile: !Ref DockerFile
279292
DockerContext: ../
280293
DockerTag: durable-examples
281294

@@ -297,7 +310,7 @@ Resources:
297310
- lambda:GetDurableExecutionState
298311
Resource: !Sub "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:many-async-steps-example"
299312
Metadata:
300-
Dockerfile: examples/Dockerfile
313+
Dockerfile: !Ref DockerFile
301314
DockerContext: ../
302315
DockerTag: durable-examples
303316

0 commit comments

Comments
 (0)