1212
1313env :
1414 AWS_ACCOUNT_ID : ' 013230744746'
15- RELEASE_ACCESS_KEY_ID : AKIAQGFE5ESVJ7IYEUVR
16- REPO_BUCKET : gutenberg-ext-imglambda-repobucket-1i58nyytyztdl
15+ RELEASE_ACCESS_KEY_ID_US_EAST_1 : AKIAQGFE5ESVJ7IYEUVR
16+ RELEASE_ACCESS_KEY_ID_AP_NORTHEAST_1 : AKIAQGFE5ESVG2GCWRBX
17+ REPO_BUCKET_US_EAST_1 : gutenberg-ext-imglambda-repobucket-1i58nyytyztdl
18+ REPO_BUCKET_AP_NORTHEAST_1 : gutenberg-ext-imglambda-repobucket-mm723a9uponj
1719 TEST_ACCESS_KEY_ID : AKIAQGFE5ESVKGVB3XGS
1820 TEST_GENERATED_BUCKET : gutenberg-ext-imglambda-testgeneratedbucket-n8c79jl0mzd2
1921 TEST_ORIGINAL_BUCKET : gutenberg-ext-imglambda-testoriginalbucket-fz28m8cblu5t
2022 PYTHON_VERSION : 3.13.5
2123
2224jobs :
23- build :
24- runs-on : ubuntu-24.04
25+ buildnumber :
26+ runs-on : ubuntu-24.04-arm
2527 steps :
26- - uses : actions/checkout@main
27- - uses : actions/setup-python@main
28- with :
29- python-version : ' ~${{env.PYTHON_VERSION}}'
30- - name : Python Poetry Action
31- uses : abatilo/actions-poetry@master
32- - run : script/recreate-release-venv
3328 - name : Generate build number
3429 uses : onyxmueller/build-tag-number@main
3530 with :
@@ -38,19 +33,67 @@ jobs:
3833 - name : Print new build number
3934 run : echo "Build number is $BUILD_NUMBER"
4035 - name : Save the build number
41- run : echo "$BUILD_NUMBER" > work/ BUILD_NUMBER
36+ run : echo "$BUILD_NUMBER" > BUILD_NUMBER
4237 - name : Embed build number into code
4338 run : echo "build-$BUILD_NUMBER" > VERSION
44- - run : script/create-lambda
4539 - uses : actions/upload-artifact@main
4640 with :
47- name : artifact
48- path : work/imglambda.zip
41+ name : build-number
42+ path : BUILD_NUMBER
4943 if-no-files-found : error
44+
45+ build-amd64 :
46+ runs-on : ubuntu-24.04
47+ env :
48+ # Workaround for https://github.com/github/vscode-github-actions/issues/222
49+ BUILD_NUMBER : " "
50+ steps :
51+ - uses : actions/download-artifact@main
52+ with :
53+ name : build-number
54+ - name : set BUILD_NUMBER
55+ run : echo "BUILD_NUMBER=$(< ./BUILD_NUMBER)" >> $GITHUB_ENV
56+ - uses : actions/checkout@main
57+ - uses : actions/setup-python@main
58+ with :
59+ python-version : ' ~${{env.PYTHON_VERSION}}'
60+ - name : Python Poetry Action
61+ uses : abatilo/actions-poetry@master
62+ - run : script/recreate-release-venv
63+ - name : Embed build number into code
64+ run : echo "build-$BUILD_NUMBER" > VERSION
65+ - run : script/create-lambda
5066 - uses : actions/upload-artifact@main
67+ with :
68+ name : artifact-amd64
69+ path : work/imglambda-amd64.zip
70+ if-no-files-found : error
71+
72+ build-arm64 :
73+ runs-on : ubuntu-24.04-arm
74+ env :
75+ # Workaround for https://github.com/github/vscode-github-actions/issues/222
76+ BUILD_NUMBER : " "
77+ steps :
78+ - uses : actions/download-artifact@main
5179 with :
5280 name : build-number
53- path : work/BUILD_NUMBER
81+ - name : set BUILD_NUMBER
82+ run : echo "BUILD_NUMBER=$(< ./BUILD_NUMBER)" >> $GITHUB_ENV
83+ - uses : actions/checkout@main
84+ - uses : actions/setup-python@main
85+ with :
86+ python-version : ' ~${{env.PYTHON_VERSION}}'
87+ - name : Python Poetry Action
88+ uses : abatilo/actions-poetry@master
89+ - run : script/recreate-release-venv
90+ - name : Embed build number into code
91+ run : echo "build-$BUILD_NUMBER" > VERSION
92+ - run : script/create-lambda
93+ - uses : actions/upload-artifact@main
94+ with :
95+ name : artifact-arm64
96+ path : work/imglambda-arm64.zip
5497 if-no-files-found : error
5598
5699 test :
82125
83126 release :
84127 needs :
85- - build
128+ - buildnumber
129+ - build-amd64
130+ - build-arm64
86131 - test
87132 if : github.ref == 'refs/heads/master'
88133 runs-on : ubuntu-24.04
@@ -93,7 +138,10 @@ jobs:
93138 steps :
94139 - uses : actions/download-artifact@main
95140 with :
96- name : artifact
141+ name : artifact-amd64
142+ - uses : actions/download-artifact@main
143+ with :
144+ name : artifact-arm64
97145 - uses : actions/download-artifact@main
98146 with :
99147 name : build-number
@@ -113,12 +161,32 @@ jobs:
113161 GITHUB_TOKEN : ${{secrets.GITHUB_TOKEN}}
114162 with :
115163 upload_url : ${{steps.create_release.outputs.upload_url}}
116- asset_path : ./imglambda.zip
164+ asset_path : ./imglambda-amd64 .zip
117165 asset_name : imglambda.build-${{env.BUILD_NUMBER}}-awslambda-python3.13-amd64.zip
118166 asset_content_type : application/octet-stream
167+ - uses : actions/upload-release-asset@main
168+ env :
169+ GITHUB_TOKEN : ${{secrets.GITHUB_TOKEN}}
170+ with :
171+ upload_url : ${{steps.create_release.outputs.upload_url}}
172+ asset_path : ./imglambda-arm64.zip
173+ asset_name : imglambda.build-${{env.BUILD_NUMBER}}-awslambda-python3.13-arm64.zip
174+ asset_content_type : application/octet-stream
119175 - uses : aws-actions/configure-aws-credentials@main
120176 with :
121- aws-access-key-id : ${{env.RELEASE_ACCESS_KEY_ID }}
122- aws-secret-access-key : ${{secrets.RELEASE_AWS_SECRET_ACCESS_KEY }}
177+ aws-access-key-id : ${{env.RELEASE_ACCESS_KEY_ID_US_EAST_1 }}
178+ aws-secret-access-key : ${{secrets.RELEASE_AWS_SECRET_ACCESS_KEY_US_EAST_1 }}
123179 aws-region : us-east-1
124- - run : aws s3 cp ./imglambda.zip s3://${{env.REPO_BUCKET}}/imglambda.build-${{env.BUILD_NUMBER}}-awslambda-python3.13-amd64.zip
180+ - run : >-
181+ aws s3 cp
182+ ./imglambda-amd64.zip
183+ s3://${{env.REPO_BUCKET_US_EAST_1}}/imglambda.build-${{env.BUILD_NUMBER}}-awslambda-python3.13-amd64.zip
184+ - uses : aws-actions/configure-aws-credentials@main
185+ with :
186+ aws-access-key-id : ${{env.RELEASE_ACCESS_KEY_ID_US_EAST_1}}
187+ aws-secret-access-key : ${{secrets.RELEASE_AWS_SECRET_ACCESS_KEY_AP_NORTHEAST_1}}
188+ aws-region : ap-northeast-1
189+ - run : >-
190+ aws s3 cp
191+ ./imglambda-arm64.zip
192+ s3://${{env.REPO_BUCKET_AP_NORTHEAST_1}}/imglambda.build-${{env.BUILD_NUMBER}}-awslambda-python3.13-arm64.zip
0 commit comments