@@ -16,74 +16,23 @@ rm -rf dist-serverless/
1616rm -rf ./packages/serverless/build
1717rm -rf ./packages/serverless/dist
1818rm -rf ./packages/serverless/node_modules
19- rm -f sentry-node-serverless-* .zip
2019
2120# Creating Lambda layer
2221echo " Creating Lambda layer in ./packages/serverless/build/aws/dist-serverless..."
2322cd packages/serverless
2423yarn build
25- cd ../../
2624echo " Done creating Lambda layer in ./packages/serverless/build/aws/dist-serverless."
2725
28- # Move dist-serverless/ to the root folder for the action to pick it up.
29- # This is only needed in this script, because in GitHub workflow
30- # this is done with the upload-artifact/download-artifact actions
31- echo " Copying Lambda layer in ./packages/serverless/build/aws/dist-serverless to working directory..."
32- mv ./packages/serverless/build/aws/dist-serverless .
33- echo " Done copying Lambda layer in ./packages/serverless/build/aws/dist-serverless to working directory."
34-
35- # IMPORTANT:
36- # Please make sure that this does the same as the GitHub action that
37- # is building the Lambda layer in production!
38- # see: https://github.com/getsentry/action-build-aws-lambda-extension/blob/main/action.yml#L23-L40
39-
40- echo " Downloading relay..."
41- # Make directory (if not existing)
42- mkdir -p dist-serverless/relay
43- # Download releay from release registry to dist-serverless/relay/relay
44- curl -0 --silent \
45- --output dist-serverless/relay/relay \
46- " $( curl -s https://release-registry.services.sentry.io/apps/relay/latest | jq -r .files.\" relay-Linux-x86_64\" .url) "
47- # Make file executable
48- chmod +x dist-serverless/relay/relay
49- echo " Done downloading relay."
50-
51- echo " Creating start script..."
52- # Make directory (if not existing)
53- mkdir -p dist-serverless/extensions
54- # Create 'sentry-lambda-extension' script that starts relay.
55- # The file has to have exactly this name, because the executable files of
56- # Lambda extensions need to have same file name as the name that they use
57- # to register with AWS Lambda environment
58- cat > dist-serverless/extensions/sentry-lambda-extension << EOT
59- #!/bin/bash
60- set -euo pipefail
61- exec /opt/relay/relay run \
62- --mode=proxy \
63- --shutdown-timeout=2 \
64- --upstream-dsn="\$ SENTRY_DSN" \
65- --aws-runtime-api="\$ AWS_LAMBDA_RUNTIME_API"
66- EOT
67- # Make script executable
68- chmod +x dist-serverless/extensions/sentry-lambda-extension
69- echo " Done creating start script."
70-
71- # Zip Lambda layer and included Lambda extension
72- echo " Zipping Lambda layer and included Lambda extension..."
73- cd dist-serverless/
74- zip -r -y ../sentry-node-serverless-x.x.x-dev.zip .
75- cd ..
76- echo " Done Zipping Lambda layer and included Lambda extension to ./sentry-node-serverless-x.x.x-dev.zip."
77-
7826# Deploying zipped Lambda layer to AWS
79- echo " Deploying zipped Lambda layer to AWS..."
27+ ZIP=$( ls build/aws/dist-serverless | grep sentry-node-serverless | head -n 1)
28+ echo " Deploying zipped Lambda layer $ZIP to AWS..."
8029
8130aws lambda publish-layer-version \
8231 --layer-name " SentryNodeServerlessSDK-local-dev" \
8332 --region " eu-central-1" \
84- --zip-file " fileb://sentry-node- serverless-x.x.x-dev.zip " \
33+ --zip-file " fileb://build/aws/dist- serverless/ $ZIP " \
8534 --description " Local test build of SentryNodeServerlessSDK (can be deleted)" \
86- --no-cli-pager
35+ --compatible-runtimes nodejs10.x nodejs12.x nodejs14.x nodejs16.x nodejs18.x
8736
8837echo " Done deploying zipped Lambda layer to AWS as 'SentryNodeServerlessSDK-local-dev'."
8938
0 commit comments