Skip to content

Commit a882f4c

Browse files
authored
test deploy on mac os
2 parents 096d89f + e0c2017 commit a882f4c

File tree

2 files changed

+39
-10
lines changed

2 files changed

+39
-10
lines changed

.github/workflows/integration-test.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ on:
1212

1313
jobs:
1414
run-it-tests-job:
15-
runs-on: ubuntu-latest
15+
strategy:
16+
matrix:
17+
os: [macos-latest, ubuntu-latest]
18+
runs-on: ${{ matrix.os }}
1619
steps:
1720
- name: Checkout
1821
uses: actions/checkout@v2
@@ -23,6 +26,13 @@ jobs:
2326
with:
2427
python-version: 3.9
2528

29+
- name: Docker setup (macos only)
30+
id: setup-docker-mac
31+
if: ${{ runner.os == 'macOS' }}
32+
run: |
33+
brew install docker
34+
colima start
35+
2636
- name: Set up Project
2737
run: |
2838
pip install -r requirements-dev.txt

bin/deploy.sh

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ awslocal lambda create-function \
2222
--role arn:aws:iam::000000000000:role/lambda-role \
2323
--environment Variables="{STAGE=local}"
2424

25+
awslocal lambda wait function-active-v2 --function-name presign
26+
2527
awslocal lambda create-function-url-config \
2628
--function-name presign \
2729
--auth-type NONE
@@ -36,19 +38,34 @@ awslocal lambda create-function \
3638
--role arn:aws:iam::000000000000:role/lambda-role \
3739
--environment Variables="{STAGE=local}"
3840

41+
awslocal lambda wait function-active-v2 --function-name list
42+
3943
awslocal lambda create-function-url-config \
4044
--function-name list \
4145
--auth-type NONE
4246

43-
(
44-
cd lambdas/resize
45-
rm -rf package lambda.zip
46-
mkdir package
47-
pip install -r requirements.txt -t package
48-
zip lambda.zip handler.py
49-
cd package
50-
zip -r ../lambda.zip *;
51-
)
47+
os=$(uname -s)
48+
if [ "$os" == "Darwin" ]; then
49+
(
50+
cd lambdas/resize
51+
rm -rf libs lambda.zip
52+
docker run --platform linux/x86_64 -v "$PWD":/var/task "public.ecr.aws/sam/build-python3.9" /bin/sh -c "pip install -r requirements.txt -t libs; exit"
53+
cd libs && zip -r ../lambda.zip . && cd ..
54+
zip lambda.zip handler.py
55+
rm -rf libs
56+
)
57+
else
58+
(
59+
cd lambdas/resize
60+
rm -rf package lambda.zip
61+
mkdir package
62+
pip install -r requirements.txt -t package
63+
zip lambda.zip handler.py
64+
cd package
65+
zip -r ../lambda.zip *;
66+
)
67+
fi
68+
5269
awslocal lambda create-function \
5370
--function-name resize \
5471
--runtime python3.9 \
@@ -59,6 +76,8 @@ awslocal lambda create-function \
5976
--role arn:aws:iam::000000000000:role/lambda-role \
6077
--environment Variables="{STAGE=local}"
6178

79+
awslocal lambda wait function-active-v2 --function-name resize
80+
6281
awslocal s3api put-bucket-notification-configuration \
6382
--bucket localstack-thumbnails-app-images \
6483
--notification-configuration "{\"LambdaFunctionConfigurations\": [{\"LambdaFunctionArn\": \"$(awslocal lambda get-function --function-name resize | jq -r .Configuration.FunctionArn)\", \"Events\": [\"s3:ObjectCreated:*\"]}]}"

0 commit comments

Comments
 (0)