Skip to content

Commit 342f788

Browse files
committed
Update lambda upload
1 parent 6c3493c commit 342f788

File tree

1 file changed

+40
-9
lines changed

1 file changed

+40
-9
lines changed

.github/workflows/deploy-api-lambda.yml

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,19 +50,50 @@ jobs:
5050
role-to-assume: arn:aws:iam::197730964718:role/elastic-docs-v3-api-deployer-${{ inputs.environment }}
5151
aws-region: us-east-1
5252

53-
- name: Upload Lambda function
53+
- name: Upload to S3 and Deploy Lambda Functions
5454
run: |
55-
NEW_VERSION=$(aws lambda update-function-code \
56-
--function-name "elastic-docs-v3-${ENVIRONMENT}-api" \
57-
--zip-file "fileb://${ZIP_FILE}" \
58-
--publish \
55+
# Upload once to S3 with git SHA for traceability
56+
S3_KEY="${ENVIRONMENT}/${GITHUB_SHA}/api-lambda.zip"
57+
aws s3 cp "${ZIP_FILE}" "s3://${S3_BUCKET}/${S3_KEY}"
58+
59+
# Deploy to streaming-optimized Lambda
60+
aws lambda update-function-code \
61+
--function-name "elastic-docs-v3-${ENVIRONMENT}-lambda-stream-optimized" \
62+
--s3-bucket "${S3_BUCKET}" \
63+
--s3-key "${S3_KEY}"
64+
65+
STREAM_VERSION=$(aws lambda publish-version \
66+
--function-name "elastic-docs-v3-${ENVIRONMENT}-lambda-stream-optimized" \
67+
--description "Deployed from ${GITHUB_SHA}" \
5968
--query 'Version' \
6069
--output text)
61-
70+
6271
aws lambda update-alias \
63-
--function-name "elastic-docs-v3-${ENVIRONMENT}-api" \
64-
--name live \
65-
--function-version $NEW_VERSION
72+
--function-name "elastic-docs-v3-${ENVIRONMENT}-lambda-stream-optimized" \
73+
--name live \
74+
--function-version $STREAM_VERSION
75+
76+
# Deploy to API Gateway-optimized Lambda
77+
aws lambda update-function-code \
78+
--function-name "elastic-docs-v3-${ENVIRONMENT}-lambda-api-gateway-optimized" \
79+
--s3-bucket "${S3_BUCKET}" \
80+
--s3-key "${S3_KEY}"
81+
82+
API_GW_VERSION=$(aws lambda publish-version \
83+
--function-name "elastic-docs-v3-${ENVIRONMENT}-lambda-api-gateway-optimized" \
84+
--description "Deployed from ${GITHUB_SHA}" \
85+
--query 'Version' \
86+
--output text)
87+
88+
aws lambda update-alias \
89+
--function-name "elastic-docs-v3-${ENVIRONMENT}-lambda-api-gateway-optimized" \
90+
--name live \
91+
--function-version $API_GW_VERSION
92+
93+
echo "✅ Deployed to both Lambda functions from S3: ${S3_KEY}"
94+
echo " Stream Lambda: version $STREAM_VERSION (${GITHUB_SHA})"
95+
echo " API Gateway Lambda: version $API_GW_VERSION (${GITHUB_SHA})"
6696
6797
env:
6898
ENVIRONMENT: ${{ inputs.environment }}
99+
S3_BUCKET: elastic-docs-v3-api-lambda-artifacts

0 commit comments

Comments
 (0)