Repository navigation
68 lines (60 loc) · 2.47 KB
/
Copy pathdockerized-test.yml
File metadata and controls
68 lines (60 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
name: dockerized-test
permissions:
contents: read
on:
push:
branches: [main]
pull_request:
branches: ['*']
paths:
- 'aws-lambda-java-core/**'
- 'aws-lambda-java-serialization/**'
- 'aws-lambda-java-runtime-interface-client/**'
- '.github/workflows/dockerized-test.yml'
workflow_dispatch:
jobs:
dockerized-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up JDK
uses: actions/setup-java@v5
with:
# The core/serialization/RIC builds require a JDK 8 toolchain
# (maven-toolchains-plugin: [1.8,9)); 25 is the JVM Maven runs on.
java-version: |
8
25
distribution: corretto
cache: maven
- name: Build core, serialization and the RIC under test
run: |
mvn -B -q install -DskipTests --file aws-lambda-java-core/pom.xml
mvn -B -q install -DskipTests --file aws-lambda-java-serialization/pom.xml
mvn -B -q clean install -DskipTests -DmultiArch=false \
--file aws-lambda-java-runtime-interface-client/pom.xml
# Stage core + serialization next to the RIC jar so the image build
# can pick all three up from a single ./target folder.
cp aws-lambda-java-core/target/aws-lambda-java-core-*.jar \
aws-lambda-java-runtime-interface-client/target/
cp aws-lambda-java-serialization/target/aws-lambda-java-serialization-*.jar \
aws-lambda-java-runtime-interface-client/target/
- name: Compile the W3C task handler
working-directory: aws-lambda-java-runtime-interface-client
run: |
javac --release 8 -cp "$(ls target/aws-lambda-java-core-*.jar)" \
-d test/dockerized/tasks \
test/dockerized/handler/W3CHandler.java
- name: Build the test image
working-directory: aws-lambda-java-runtime-interface-client
run: |
docker build . \
-t local/test \
-f Dockerfile.test \
--build-arg BASE_IMAGE=public.ecr.aws/lambda/java:25
- name: Run dockerized suites
uses: aws/containerized-test-runner-for-aws-lambda@0863dd17b5fc19585250a2405c0f939a77b4f397 # main
with:
suiteFileArray: '["./aws-lambda-java-runtime-interface-client/test/dockerized/suites/*.json"]'
dockerImageName: 'local/test'
taskFolder: './aws-lambda-java-runtime-interface-client/test/dockerized/tasks'