Skip to content

Commit 5a1cc35

Browse files

File tree

2 files changed

+46
-7
lines changed

2 files changed

+46
-7
lines changed

.github/workflows/cicd.yml

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
name: AWS-Lambda-Layer-OSMTools CI-CD
2+
23
on:
34
push:
45
branches: ["*"]
56
pull_request:
67
branches: ["*"]
8+
79
jobs:
810
build:
911
runs-on: ubuntu-latest
@@ -13,6 +15,41 @@ jobs:
1315
run: bash ./build-libraries.sh
1416
- uses: actions/upload-artifact@v4
1517
with:
16-
name: aws-lambda-layer-osmtools.zip
18+
name: aws-lambda-layer-osmtools
1719
path: aws-lambda-layer-osmtools.zip
1820
if-no-files-found: error
21+
deploy:
22+
runs-on: ubuntu-latest
23+
env:
24+
AWS_REGION: us-east-2
25+
permissions:
26+
id-token: write
27+
contents: read
28+
if: github.ref == 'refs/heads/main'
29+
steps:
30+
- uses: actions/download-artifact@v4
31+
with:
32+
name: aws-lambda-layer-osmtools
33+
- name: Authenticate AWS
34+
uses: aws-actions/configure-aws-credentials@v1
35+
with:
36+
role-to-assume: arn:aws:iam::106542751629:role/GitHubActions-AWSLambdaLayerOSMTools
37+
role-session-name: GitHub_to_AWS_via_FederatedOIDC
38+
aws-region: ${{ env.AWS_REGION }}
39+
- name: Publish Layer
40+
run: |
41+
aws s3 cp aws-lambda-layer-osmtools.zip s3://aws-lambda-layer-osmtools/aws-lambda-layer-osmtools.zip
42+
export LAYER_VERSION=$(aws lambda publish-layer-version \
43+
--layer-name aws-lambda-layer-osmtools \
44+
--description "OpenStreetMap C++ tools available as an AWS Lambda Layer!" \
45+
--compatible-runtimes "nodejs22.x" \
46+
--license-info "https://github.com/hnryjms/aws-lambda-layer-osmtools/blob/main/LICENSE.txt" \
47+
--compatible-architectures "x86_64" \
48+
--content "S3Bucket=aws-lambda-layer-osmtools,S3Key=aws-lambda-layer-osmtools.zip" \
49+
--query "Version")
50+
aws lambda add-layer-version-permission \
51+
--layer-name aws-lambda-layer-osmtools \
52+
--version-number $LAYER_VERSION \
53+
--statement-id public-layer \
54+
--principal "*" \
55+
--action "lambda:GetLayerVersion"

AmazonLinuxLibraries.dockerfile

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,14 @@ RUN tar -xf tilemaker.tgz && \
9595
cmake --build .
9696

9797
RUN cd osrm-backend-${OSRM_VERSION} && \
98-
mkdir -p /home/export/node_modules/@project-osrm/osrm/lib && \
99-
cp package.json /home/export/node_modules/@project-osrm/osrm/ && \
100-
cp package-lock.json /home/export/node_modules/@project-osrm/osrm/ && \
101-
cp lib/index.js /home/export/node_modules/@project-osrm/osrm/lib/index.js && \
102-
cp -r lib/binding /home/export/node_modules/@project-osrm/osrm/lib && \
98+
mkdir -p /home/export/nodejs/node_modules/@project-osrm/osrm/lib && \
99+
cp package.json /home/export/nodejs/node_modules/@project-osrm/osrm/ && \
100+
cp package-lock.json /home/export/nodejs/node_modules/@project-osrm/osrm/ && \
101+
cp lib/index.js /home/export/nodejs/node_modules/@project-osrm/osrm/lib/index.js && \
102+
cp -r lib/binding /home/export/nodejs/node_modules/@project-osrm/osrm/lib && \
103+
mkdir /home/export/bin && \
104+
mv /home/export/nodejs/node_modules/@project-osrm/osrm/lib/binding/* /home/export/bin/ && \
105+
mv /home/export/bin/node_osrm.node /home/export/nodejs/node_modules/@project-osrm/osrm/lib/binding/ && \
103106
mkdir /home/export/lib && \
104107
cp /usr/lib64/libboost_regex.so.1.75.0 /home/export/lib/ && \
105108
cp /usr/lib64/libboost_date_time.so.1.75.0 /home/export/lib/ && \
@@ -114,7 +117,6 @@ RUN cd osrm-backend-${OSRM_VERSION} && \
114117
cp /usr/lib64/libicui18n.so.67 /home/export/lib/ && \
115118
cp /usr/lib64/libicuuc.so.67 /home/export/lib/ && \
116119
cd ../osmium-tool-1.18.0 && \
117-
mkdir /home/export/bin && \
118120
cp build/src/osmium /home/export/bin/osmium && \
119121
cp /usr/lib64/libexpat.so.1 /home/export/lib/ && \
120122
cd ../tilemaker-${TILEMAKER_VERSION} && \

0 commit comments

Comments
 (0)