Skip to content

fixed path

fixed path #6

name: Lambda Deploy
on: [push]
jobs:
get-filenames:
runs-on: ubuntu-latest
outputs:
lambdaArray: ${{ steps.getLambdas.outputs.lambdas }}
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Get functions filenames
id: getLambdas
run: |
lambdas=$(tree -d -L 1 -J . | jq -j -c '.[0].contents | map(.name)')
echo ::set-output name=lambdas::${lambdas}
update-code:
needs: get-filenames
strategy:
matrix:
lambda: ${{ fromJSON(needs.get-filenames.outputs.lambdaArray) }}
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 20
- name: Get AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ap-southeast-2
- name: Zip Lambda functions
run: zip -j ${{matrix.lambda}}.zip ./${{matrix.lambda}}/index.js
- name: Update Lambdas code
run: aws lambda update-function-code --function-name=${{matrix.lambda}}${{inputs.environment}} --zip-file=fileb://${{matrix.lambda}}.zip