From 0c3a31ed81a094d0907b321ab2d7ff3ad061e523 Mon Sep 17 00:00:00 2001 From: Jun-te Kim Date: Thu, 14 May 2026 16:49:45 +0000 Subject: [PATCH] smoke tests --- .github/workflows/_smoke_test_lambda.yml | 28 +++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/.github/workflows/_smoke_test_lambda.yml b/.github/workflows/_smoke_test_lambda.yml index 9b564f73..3fcf0de4 100644 --- a/.github/workflows/_smoke_test_lambda.yml +++ b/.github/workflows/_smoke_test_lambda.yml @@ -20,6 +20,13 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Download AWS Lambda RIE + run: | + mkdir -p ~/.aws-lambda-rie + curl -fsSL -o ~/.aws-lambda-rie/aws-lambda-rie \ + https://github.com/aws/aws-lambda-runtime-interface-emulator/releases/latest/download/aws-lambda-rie + chmod +x ~/.aws-lambda-rie/aws-lambda-rie + - name: Build Lambda image run: | docker build \ @@ -30,9 +37,24 @@ jobs: - name: Start Lambda container run: | - docker run -d --name ${{ inputs.service_name }}-smoke-test \ - -p 9000:8080 \ - ${{ inputs.service_name }}-smoke-test:latest + IMG=${{ inputs.service_name }}-smoke-test:latest + ENTRY=$(docker inspect --format='{{range .Config.Entrypoint}}{{.}} {{end}}' "$IMG") + CMD_ARGS=$(docker inspect --format='{{range .Config.Cmd}}{{.}} {{end}}' "$IMG") + + if echo "$ENTRY" | grep -q "lambda-entrypoint.sh"; then + # AWS base image — RIE is bundled + docker run -d --name ${{ inputs.service_name }}-smoke-test \ + -p 9000:8080 \ + "$IMG" + else + # Custom base — mount RIE from runner and re-wire entrypoint + docker run -d --name ${{ inputs.service_name }}-smoke-test \ + -v "$HOME/.aws-lambda-rie:/aws-lambda-rie" \ + -p 9000:8080 \ + --entrypoint /aws-lambda-rie/aws-lambda-rie \ + "$IMG" \ + $ENTRY $CMD_ARGS + fi - name: Invoke Lambda and check for import errors run: |