Kotlin Lambda example on JVM contains six CDK stacks of Kotlin Lambda on JVM: JVM on x86, JVM on Arm64, JVM with C1 compiler on x86, JVM with C1 compiler on Arm64, JVM with SnapStart on x86, JVM with SnapStart and C1 compiler on x86, and one stack for Dynamo Table. x86 and ARM64 examples were used in performance tests for "To ARM64 or not to ARM64" article: https://medium.com/aws-tip/this-week-in-kotlin-on-aws-lambda-to-arm64-or-not-to-arm64-e970f97baef3
Unit tests are using Testcontainers to run DynamoDB locally. Ensure docker is running locally, then execute:
./gradlew clean build
Install CDK (if you have not already):
npm install -g aws-cdk
If you have not set up CDK in you AWS account yet, please run (replace variables in brackets with actual values):
cdk bootstrap aws://[aws_account_id]/[aws_region]
Now deploy all stacks:
cdk deploy -vv --require-approval never --all
Set up the following secrets in your GitHub project:
AWS_ACCOUNT_ID
AWS_ACCESS_KEY
AWS_SECRET_KEY
Update AWS region in workflow-build-deploy.yml
in .github
folder of the project